From 4b06c2f20ea5f56bfb64bfd19c916e280615abb5 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Fri, 24 Jul 2026 16:53:13 +0200 Subject: [PATCH 01/11] Separate extension and runtime-independent code --- package.json | 6 +++--- src/{ => extension}/extension.ts | 0 src/{ => extension}/provider.ts | 5 +++-- src/extension/tsconfig.json | 13 +++++++++++++ src/{ => shared/elaborator}/trace_v1.atd | 0 src/{trace_v1.ts => shared/elaborator/trace_v1.mts} | 0 src/{ => shared/elaborator}/trace_v2.atd | 0 src/{trace_v2.ts => shared/elaborator/trace_v2.mts} | 0 src/shared/tsconfig.json | 12 ++++++++++++ tsconfig.json | 12 +++++------- 10 files changed, 36 insertions(+), 12 deletions(-) rename src/{ => extension}/extension.ts (100%) rename src/{ => extension}/provider.ts (99%) create mode 100644 src/extension/tsconfig.json rename src/{ => shared/elaborator}/trace_v1.atd (100%) rename src/{trace_v1.ts => shared/elaborator/trace_v1.mts} (100%) rename src/{ => shared/elaborator}/trace_v2.atd (100%) rename src/{trace_v2.ts => shared/elaborator/trace_v2.mts} (100%) create mode 100644 src/shared/tsconfig.json diff --git a/package.json b/package.json index ce7e378..38e8944 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "onCommand:elpi.trace", "onCommand:elpi.clear" ], - "main": "./out/extension.js", + "main": "./out/extension/extension.js", "contributes": { "commands": [ { @@ -148,9 +148,9 @@ "scripts": { "build": "mustache elpiLexicalConventions.js syntaxes/elpi.tmLanguage.mustache > syntaxes/elpi.tmLanguage.json", "vscode:prepublish": "npm run compile", - "compile": "tsc -p ./", + "compile": "tsc -b ./src/extension", "lint": "eslint . --ext .ts,.tsx", - "watch": "tsc -w -p ./", + "watch": "tsc -b -w ./src/extension", "deploy": "vsce publish" }, "devDependencies": { diff --git a/src/extension.ts b/src/extension/extension.ts similarity index 100% rename from src/extension.ts rename to src/extension/extension.ts diff --git a/src/provider.ts b/src/extension/provider.ts similarity index 99% rename from src/provider.ts rename to src/extension/provider.ts index ff4bc64..03c1749 100644 --- a/src/provider.ts +++ b/src/extension/provider.ts @@ -1,6 +1,7 @@ + import * as vscode from 'vscode'; -import * as parser_v1 from './trace_v1'; -import * as parser_v2 from './trace_v2'; +import * as parser_v1 from '../shared/elaborator/trace_v1.mjs'; +import * as parser_v2 from '../shared/elaborator/trace_v2.mjs'; import * as path from 'path'; import os = require('node:os'); diff --git a/src/extension/tsconfig.json b/src/extension/tsconfig.json new file mode 100644 index 0000000..59671fd --- /dev/null +++ b/src/extension/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "composite": true, + "module": "commonjs", + "target": "es2022", + "lib": ["es2022"], + "rootDir": "../", + "outDir": "../../out" + }, + "include": ["."], + "references": [{"path": "../shared"}] +} diff --git a/src/trace_v1.atd b/src/shared/elaborator/trace_v1.atd similarity index 100% rename from src/trace_v1.atd rename to src/shared/elaborator/trace_v1.atd diff --git a/src/trace_v1.ts b/src/shared/elaborator/trace_v1.mts similarity index 100% rename from src/trace_v1.ts rename to src/shared/elaborator/trace_v1.mts diff --git a/src/trace_v2.atd b/src/shared/elaborator/trace_v2.atd similarity index 100% rename from src/trace_v2.atd rename to src/shared/elaborator/trace_v2.atd diff --git a/src/trace_v2.ts b/src/shared/elaborator/trace_v2.mts similarity index 100% rename from src/trace_v2.ts rename to src/shared/elaborator/trace_v2.mts diff --git a/src/shared/tsconfig.json b/src/shared/tsconfig.json new file mode 100644 index 0000000..c804f30 --- /dev/null +++ b/src/shared/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "composite": true, + "module": "node18", + "target": "es2022", + "lib": ["es2022"], + "rootDir": "../", + "outDir": "../../out" + }, + "include": ["."] +} diff --git a/tsconfig.json b/tsconfig.json index 9a3f525..f067df2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,10 @@ { "compilerOptions": { - "module": "commonjs", - "target": "es2020", - "lib": ["es2020"], - "outDir": "out", "sourceMap": true, - "strict": true, - "rootDir": "src" + "strict": true }, - "exclude": ["node_modules", ".vscode-test"] + "files": [], + "references": [ + { "path": "./src/extension/tsconfig.json" } + ] } From 261ade35f082c7b2b4a27af46ca76029724d2eb7 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Fri, 24 Jul 2026 17:59:39 +0200 Subject: [PATCH 02/11] Switch to a reimplementation of the trace elaborator --- media/main.js | 13 +- package-lock.json | 74 ++-- package.json | 8 +- src/extension/provider.ts | 146 ++------ src/shared/elaborator/StepMap.mts | 73 ++++ src/shared/elaborator/analysis.mts | 105 ++++++ src/shared/elaborator/decoding.mts | 296 +++++++++++++++ src/shared/elaborator/elaboration.mts | 446 +++++++++++++++++++++++ src/shared/elaborator/index.mts | 44 +++ src/shared/elaborator/presentation.mts | 474 +++++++++++++++++++++++++ src/shared/elaborator/types.mts | 69 ++++ src/shared/unreachable.mts | 5 + 12 files changed, 1612 insertions(+), 141 deletions(-) create mode 100644 src/shared/elaborator/StepMap.mts create mode 100644 src/shared/elaborator/analysis.mts create mode 100644 src/shared/elaborator/decoding.mts create mode 100644 src/shared/elaborator/elaboration.mts create mode 100644 src/shared/elaborator/index.mts create mode 100644 src/shared/elaborator/presentation.mts create mode 100644 src/shared/elaborator/types.mts create mode 100644 src/shared/unreachable.mts diff --git a/media/main.js b/media/main.js index c5a5814..7ef8fd2 100644 --- a/media/main.js +++ b/media/main.js @@ -1,5 +1,6 @@ // This script will be run within the webview itself // It cannot access the main VS Code APIs directly. +import * as E from 'shared/elaborator/index.mjs'; (function () { const vscode = acquireVsCodeApi(); @@ -9,8 +10,16 @@ switch (message.type) { case 'trace': clear(); - trace(message.trace); - $("#trace-information").val(message.file + ' on ' + new Date().toISOString()); + try { + trace(E.elaborate(message.source)) + $("#trace-information").val(message.file + ' on ' + new Date().toISOString()); + } catch (e) { + console.error('Error while elaborating trace', e) + vscode.postMessage({ + command: 'notify', + value: `The trace file appears to be broken: ${e}` + }) + } break; case 'clear': clear(); diff --git a/package-lock.json b/package-lock.json index 3483f93..f876856 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,17 +21,17 @@ "vue": "^2.7.0" }, "devDependencies": { - "@types/node": "^17.0.35", - "@types/vscode": "^1.50.0", + "@types/node": "^22", + "@types/vscode": "~1.101", "@typescript-eslint/eslint-plugin": "^5.19.0", "@typescript-eslint/parser": "^5.19.0", "@vscode/vsce": "^2.19.0", "eslint": "^8.13.0", "mustache": "^4.0.1", - "typescript": "^4.6.3" + "typescript": "^5.3" }, "engines": { - "vscode": "^1.50.0" + "vscode": "^1.101.0" } }, "node_modules/@babel/helper-string-parser": { @@ -187,10 +187,14 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "dev": true + "version": "22.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", + "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } }, "node_modules/@types/semver": { "version": "7.3.13", @@ -199,10 +203,11 @@ "dev": true }, "node_modules/@types/vscode": { - "version": "1.74.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.74.0.tgz", - "integrity": "sha512-LyeCIU3jb9d38w0MXFwta9r0Jx23ugujkAxdwLTNCyspdZTKUc43t7ppPbCiPoQ/Ivd/pnDFZrb4hWd45wrsgA==", - "dev": true + "version": "1.101.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.101.0.tgz", + "integrity": "sha512-ZWf0IWa+NGegdW3iU42AcDTFHWW7fApLdkdnBqwYEtHVIBGbTu0ZNQKP/kX3Ds/uMJXIMQNAojHR4vexCEEz5Q==", + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.46.0", @@ -2824,17 +2829,18 @@ } }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "peer": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uc.micro": { @@ -2849,6 +2855,13 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -3085,10 +3098,13 @@ "dev": true }, "@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "dev": true + "version": "22.20.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.1.tgz", + "integrity": "sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==", + "dev": true, + "requires": { + "undici-types": "~6.21.0" + } }, "@types/semver": { "version": "7.3.13", @@ -3097,9 +3113,9 @@ "dev": true }, "@types/vscode": { - "version": "1.74.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.74.0.tgz", - "integrity": "sha512-LyeCIU3jb9d38w0MXFwta9r0Jx23ugujkAxdwLTNCyspdZTKUc43t7ppPbCiPoQ/Ivd/pnDFZrb4hWd45wrsgA==", + "version": "1.101.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.101.0.tgz", + "integrity": "sha512-ZWf0IWa+NGegdW3iU42AcDTFHWW7fApLdkdnBqwYEtHVIBGbTu0ZNQKP/kX3Ds/uMJXIMQNAojHR4vexCEEz5Q==", "dev": true }, "@typescript-eslint/eslint-plugin": { @@ -4970,9 +4986,9 @@ } }, "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "peer": true }, @@ -4988,6 +5004,12 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, + "undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true + }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", diff --git a/package.json b/package.json index 38e8944..da5bb5a 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ ], "license": "MIT", "engines": { - "vscode": "^1.50.0" + "vscode": "^1.101.0" }, "extensionKind": [ "ui", @@ -154,14 +154,14 @@ "deploy": "vsce publish" }, "devDependencies": { - "@types/node": "^17.0.35", - "@types/vscode": "^1.50.0", + "@types/node": "^22", + "@types/vscode": "~1.101", "@typescript-eslint/eslint-plugin": "^5.19.0", "@typescript-eslint/parser": "^5.19.0", "@vscode/vsce": "^2.19.0", "eslint": "^8.13.0", "mustache": "^4.0.1", - "typescript": "^4.6.3" + "typescript": "^5.3" }, "dependencies": { "@creativebulma/bulma-collapsible": "^1.0.4", diff --git a/src/extension/provider.ts b/src/extension/provider.ts index 03c1749..3b30ff7 100644 --- a/src/extension/provider.ts +++ b/src/extension/provider.ts @@ -1,48 +1,19 @@ - import * as vscode from 'vscode'; -import * as parser_v1 from '../shared/elaborator/trace_v1.mjs'; -import * as parser_v2 from '../shared/elaborator/trace_v2.mjs'; import * as path from 'path'; -import os = require('node:os'); -import cp = require('child_process'); -import fs = require('fs'); - -type TraceParser = { - readTrace: (x: any, context?: any) => any; -}; - -const traceParsers: TraceParser[] = [parser_v2, parser_v1]; - -function any_parser_readTrace(x: any) { - let lastError: unknown; - - for (const parser of traceParsers) { - try { - return parser.readTrace(x); - } catch (error) { - lastError = error; - } - } - - if (lastError instanceof Error) - throw lastError; - - throw new Error('Failed to parse trace with all available parser versions.'); -} +import * as os from 'node:os'; +import * as cp from 'child_process'; +import * as fs from 'fs'; export class TraceProvider implements vscode.WebviewViewProvider { public static readonly viewType = 'elpi.tracer'; - private _cat: string; private _elpi: string; - private _elpi_trace_elaborator: string; private _options: string; private _options_default: string; private _view?: vscode.WebviewView; private _source: string; - private _target: string; private _target_raw: string; private _target_dir: string; @@ -51,34 +22,27 @@ export class TraceProvider implements vscode.WebviewViewProvider { constructor( private readonly _extensionUri: vscode.Uri, ) { - + this._channel.appendLine("Running extension for " + os.platform() + " - " + os.release()); this._elpi = ""; - this._elpi_trace_elaborator = ""; this._options = "-test"; this._options_default = ""; this._source = ""; - + if (os.platform().toString().toLowerCase() == "win32") this._target_dir = process.env.APPDATA + '\\'; else this._target_dir = '/tmp/'; - this._target = this._target_dir + "trace.json"; this._target_raw = this._target_dir + "trace.tmp.json"; - - if (os.platform().toString().toLowerCase() == "win32") - this._cat = "type"; - else - this._cat = "cat"; } public resolveWebviewView( webviewView: vscode.WebviewView, - context: vscode.WebviewViewResolveContext, + _context: vscode.WebviewViewResolveContext, _token: vscode.CancellationToken, ) { this._view = webviewView; @@ -167,7 +131,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { const paths = (process.env.PATH || '') .split(path.delimiter) .map(x => path.resolve(x, name)); - + for (const p of paths) { if (fs.existsSync(p)) { return true; @@ -199,38 +163,22 @@ export class TraceProvider implements vscode.WebviewViewProvider { canSelectFiles: true, canSelectFolders: false }; - + vscode.window.showOpenDialog(options).then(fileUri => { if (fileUri && fileUri[0]) { - let configuration = vscode.workspace.getConfiguration('elpi'); - - this._elpi_trace_elaborator = configuration.elpi_trace_elaborator.path; - - if(!this.findFileOnPath(this._elpi_trace_elaborator)) { - vscode.window - .showInformationMessage(`Failed to find elpi trace elaborator`, 'Go to settings') - .then(action => { - if (action == 'Go to settings') - vscode.commands.executeCommand('workbench.action.openSettings', '@ext:gares.elpi-lang'); - }); - return; - } - this._channel.appendLine("Opening raw trace: " + fileUri[0].fsPath); if (this._view) this._view.webview.postMessage({ type: 'progress', state: 'on' }); - this.exec(this._cat + " " + fileUri[0].fsPath + " | " + this._elpi_trace_elaborator + " > " + this._target); - - const trace = any_parser_readTrace(JSON.parse(fs.readFileSync(this._target, 'utf8'))); + const input = fs.readFileSync(fileUri[0].fsPath, 'utf-8'); this._source = fileUri[0].fsPath; if (this._view) - this._view.webview.postMessage({ type: 'trace', trace: trace, file: fileUri[0].fsPath }); - + this._view.webview.postMessage({ type: 'trace', source: input, file: fileUri[0].fsPath }); + if (this._view) this._view.webview.postMessage({ type: 'progress', state: 'off' }); } @@ -241,7 +189,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { const options: vscode.SaveDialogOptions = { saveLabel: 'Save raw trace as' }; - + vscode.window.showSaveDialog(options).then(fileUri => { if (fileUri) { this._channel.appendLine("Saving trace as: " + fileUri.toString() + " from " + this._source); @@ -250,7 +198,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { if (err) { this._channel.appendLine("Error saving raw trace to " + fileUri.toString().slice(7) + " " + err.toString()); } else { - this._channel.appendLine("Raw trace saved to " + fileUri.toString().slice(7)); + this._channel.appendLine("Raw trace saved to " + fileUri.toString().slice(7)); } }); } @@ -261,29 +209,18 @@ export class TraceProvider implements vscode.WebviewViewProvider { let configuration = vscode.workspace.getConfiguration('elpi'); let current_file = ''; - + this._elpi = configuration.elpi.path; - this._elpi_trace_elaborator = configuration.elpi_trace_elaborator.path; - - if(!this.findFileOnPath(this._elpi)) { - vscode.window - .showInformationMessage(`Failed to find elpi`, 'Go to settings') - .then(action => { - if (action == 'Go to settings') - vscode.commands.executeCommand('workbench.action.openSettings', '@ext:gares.elpi-lang'); - }); - return; - } - - if(!this.findFileOnPath(this._elpi_trace_elaborator)) { - vscode.window - .showInformationMessage(`Failed to find elpi trace elaborator`, 'Go to settings') - .then(action => { - if (action == 'Go to settings') - vscode.commands.executeCommand('workbench.action.openSettings', '@ext:gares.elpi-lang'); - }); - return; - } + + if(!this.findFileOnPath(this._elpi)) { + vscode.window + .showInformationMessage(`Failed to find elpi`, 'Go to settings') + .then(action => { + if (action == 'Go to settings') + vscode.commands.executeCommand('workbench.action.openSettings', '@ext:gares.elpi-lang'); + }); + return; + } this._options_default = configuration.elpi.options; @@ -292,7 +229,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { current_file = vscode.window.activeTextEditor.document.fileName; vscode.window.showInformationMessage(`Tracing: ${current_file}`); - + this._channel.appendLine("Trace started: " + current_file); // -- @@ -302,20 +239,6 @@ export class TraceProvider implements vscode.WebviewViewProvider { // this.exec("eval $(opam env) && " + this._elpi + " " + this._options + " " + this._options_default + " " + current_file); this.exec(this._elpi + " " + this._options + " " + this._options_default.replace('[OUTPUT]', this._target_raw) + " " + current_file); - - // cp.execSync(this._elpi + " " + this._options + " " + this._options_default + " " + current_file); - - this.exec(this._cat + " " + this._target_raw + " | " + this._elpi_trace_elaborator + " > " + this._target); - - // -- - - if(!fs.existsSync(this._target)) { - vscode.window.showInformationMessage(`Trace generation failed`); - this._channel.appendLine("Trace generation failed."); - return; - } else { - this._channel.appendLine("Trace generation successful."); - } // -- @@ -323,12 +246,13 @@ export class TraceProvider implements vscode.WebviewViewProvider { // -- - const trace = any_parser_readTrace(JSON.parse(fs.readFileSync(this._target, 'utf8'))) + const input = fs.readFileSync(this._target_raw, 'utf-8'); + // --- Send message to the view backend if (this._view) - this._view.webview.postMessage({ type: 'trace', trace: trace, file: current_file }); + this._view.webview.postMessage({ type: 'trace', source: input, file: current_file }); } private _getHtmlForWebview(webview: vscode.Webview) { @@ -339,6 +263,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { const bulmaQVUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'node_modules', 'bulma-quickview', 'dist', 'js', 'bulma-quickview.min.js')); const bulmaACUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'node_modules', '@creativebulma', 'bulma-collapsible', 'dist', 'js', 'bulma-collapsible.min.js')); const scriptUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'media', 'main.js')); + const sharedUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'out', 'shared')); const styleResetUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'media', 'reset.css')); const styleVSCodeUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'media', 'vscode.css')); @@ -537,7 +462,7 @@ return ` - +


@@ -550,8 +475,8 @@ return ` -
-
+
+
@@ -563,7 +488,7 @@ return `
- +
@@ -581,7 +506,10 @@ return ` - + + `; } diff --git a/src/shared/elaborator/StepMap.mts b/src/shared/elaborator/StepMap.mts new file mode 100644 index 0000000..70baa47 --- /dev/null +++ b/src/shared/elaborator/StepMap.mts @@ -0,0 +1,73 @@ +import type { StepId, StepIdx, RuntimeId } from './types.mjs'; + +// Unfortunately arrays and objects are compared for equality by +// reference, so we can't just use a Map with pairs as keys like the +// OCaml implementation does. Instead we implement this helper class. + +export default class StepMap { + // Store runtime id on the outside, since we want to use that as the + // first key in lexicographic ordering + store: Map> + constructor(data?: { store: Map> }) { + this.store = data?.store ?? new Map(); + } + + get(key: StepId): T | undefined { + return this.store.get(key.runtime)?.get(key.step) + } + + set(key: StepId, value: T): StepMap { + const runtimeMap = this.store.get(key.runtime) ?? new Map(); + runtimeMap.set(key.step, value); + this.store.set(key.runtime, runtimeMap) + return this; + } + + get size(): number { + let size = 0; + this.store.forEach(stepMap => { + size += stepMap.size; + }) + return size; + } + + forEach(callbackFn: (value: T, index: StepId, map: StepMap) => void) { + this.store.forEach((runtimeMap, runtimeIdx) => { + runtimeMap.forEach((v, stepIdx) => { + callbackFn(v, { step: stepIdx, runtime: runtimeIdx }, this) + }) + }) + } + + increasing(): SortedStepMap { + return new SortedStepMap( + this.sorted((r1, r2) => r1 - r2, (s1, s2) => s1 - s2) + ); + } + + decreasing(): StepMap { + return this.sorted((r1, r2) => r2 - r1, (s1, s2) => s2 - s1) + } + + private sorted( + cmpRuntime: (left: RuntimeId, right: RuntimeId) => number, + cmpStep: (left: StepIdx, right: StepIdx) => number + ): StepMap { + const runtimes = [...this.store.entries()]; + // Sort runtimes descending + runtimes.sort(([r1], [r2]) => cmpRuntime(r1, r2)); + // Sort steps descending + runtimes.forEach(entry => { + const steps = [...entry[1].entries()]; + steps.sort(([s1], [s2]) => cmpStep(s1, s2)); + entry[1] = new Map(steps) + }) + return new StepMap({ store: new Map([...runtimes]) }) + } +} + +export class SortedStepMap extends StepMap { + constructor(sorted: StepMap) { + super(sorted) + } +} diff --git a/src/shared/elaborator/analysis.mts b/src/shared/elaborator/analysis.mts new file mode 100644 index 0000000..59078e0 --- /dev/null +++ b/src/shared/elaborator/analysis.mts @@ -0,0 +1,105 @@ +import Unreachable from '../unreachable.mjs'; +import * as E from './elaboration.mjs'; +import { SortedStepMap } from './StepMap.mjs'; +import type { + GoalId, + GoalMap, + GoalSet, + StepId +} from './types.mjs'; + +export type GoalAttempt = StepId; +export type GoalAttempts = { + successful: GoalAttempt[], + failing: GoalAttempt[] +} + +export type Analysis = { + successful: GoalSet, + attempts: GoalMap +} + +export function analyze(steps: SortedStepMap): Analysis { + const success: Set = new Set(); + + // TODO This is weird: the OCaml implementation's default ordering is decreasing, + // and then this is iterated in reverse, so in increasing order. + // But we are analysing siblings, which come after a goal, so they have no + // chance of being added yet??? + steps.decreasing().forEach(({ step }) => { + switch (step.kind) { + case 'Init': + case 'Broken': + case 'Resume': + case 'CHR': + break; + case 'Suspend': + case 'Cut': + case 'Findall': + success.add(step.goalId) + break; + case 'Inference': + if (step.action.outcome.kind === 'Fail') { + break; + } + const siblingsSuccessful = + step.action.outcome.siblings.every(g => success.has(g)) + if (siblingsSuccessful) { + success.add(step.goalId) + } + break; + default: + throw new Unreachable(step) + } + }) + + const attempts: GoalMap = new Map(); + // Steps are already sorted in increasing order + steps.forEach(({ step }, stepId) => { + switch (step.kind) { + case 'Init': + case 'Broken': + case 'Resume': + case 'CHR': + case 'Suspend': + case 'Cut': + case 'Findall': + break; + case 'Inference': + if (step.action.kind === 'Builtin') { + break; + } + // Note: pushing instead of consing, look into consequences + if (step.action.outcome.kind === 'Success') { + const prev = attempts.get(step.goalId); + if (prev) { + prev.successful.push(stepId); + } else { + attempts.set(step.goalId, { + successful: [stepId], + failing: [] + }); + } + } + if (step.action.outcome.kind === 'Fail') { + const prev = attempts.get(step.goalId); + if (prev) { + prev.failing.push(stepId); + } else { + attempts.set(step.goalId, { + successful: [], + failing: [stepId] + }); + } + } + break; + default: + throw new Unreachable(step) + } + }) + + return { + successful: success, + attempts + }; +} diff --git a/src/shared/elaborator/decoding.mts b/src/shared/elaborator/decoding.mts new file mode 100644 index 0000000..cbb70b4 --- /dev/null +++ b/src/shared/elaborator/decoding.mts @@ -0,0 +1,296 @@ +import type { + CHRAttempt, + Constraint, + Cut, + GoalId, + Location, + R, + StepIdx, + Time, + TimedItem, + V, + Event +} from './types.mjs'; + +export function has< + K, T extends { item: { name: K } } +>(key: K, l: T[]): T | null { + return l.find(v => v.item.name === key) ?? null; +} + +export function all(key: K, f: (v: I) => O, l: I[]): O[] { + const output: O[] = []; + l.forEach(v => { + if (v.item.name === key) { + output.push(f(v)) + } + }) + return output; +} + +export type NonEmpty = { head: T, tail: T[] }; + +export class DecodeError extends Error { + public raw: string + + constructor(message: string, raw: string) { + super(message) + this.raw = raw; + } +} + +/** + * Returns sublists starting with the elements matching a predicate. + * + * In particular none of the returned sublists are empty, and the + * elements of l before the first element matching the predicate are + * dropped. + */ +export function splitOn(pred: (i: T) => boolean, l: T[]): NonEmpty[] { + const result: NonEmpty[] = []; + let tmp: NonEmpty | null = null; + + l.forEach(x => { + if (pred(x)) { + // Flush the previous run, if any + if (tmp) { + result.push(tmp); + } + // Seed the new run + tmp = { head: x, tail: [] }; + } else if (tmp) { + // Only push an element if there is a run + tmp.tail.push(x); + } + }); + + // Flush the final run + if (tmp) { + result.push(tmp); + } + + return result; +} + +export function allChains( + key: string, prefixes: string[], l: TimedItem[] +): NonEmpty[] { + return splitOn(i => i.item.name === key, l).map(v => ({ + head: v.head, + tail: v.tail.filter(i => prefixes.some(p => i.item.name.startsWith(p))) + })); +} + +export function inferChains( + key: string, l: TimedItem[] +): NonEmpty[] { + return allChains(key, ['user:assign', 'user:backchain:fail-to'], l); +} + +export function chrEventChains( + key: string, l: TimedItem[] +): NonEmpty[] { + return allChains(key, [ + 'user:assign', + 'user:CHR:rule-failed', + 'user:CHR:rule-fired', + 'user:CHR:rule-remove-constraints', + 'user:subgoal', + 'user:CHR:resumed' + ], l) +} + +export function decodeAttempt(l: TimedItem): { loc: Location, code: string } { + const [loc, code] = l.item.payload; + return { + loc: parseLoc(loc), + code + } +} + +export function decodeInferEvent(l: TimedItem): Event { + const p = l.item.payload; + if (l.item.name === 'user:assign:resume' && p.length === 1) { + return { + kind: 'ResumeGoal', + goals: p[0].split(' ').map(g => Number.parseInt(g)) + } + } + if (l.item.name === 'user:backchain:fail-to' && p.length === 1) { + return { + kind: 'Fail', + failedGoal: p[0] + } + } + return { + kind: 'Assign', + repr: decodeString(l) + } +} + +export function decodeInferAttempt( + l: NonEmpty +): { loc: Location, code: string, events: Event[] } { + const events = l.tail.map(e => decodeInferEvent(e)); + return { + events, ...decodeAttempt(l.head) + } +} + +export function decodeCHRTryList( + l: NonEmpty[] +): { successful: CHRAttempt[], failed: CHRAttempt[] } { + const successful: CHRAttempt[] = []; + const failed: CHRAttempt[] = []; + + l.forEach(({ head: attempt, tail: events }) => { + const { loc, code } = decodeAttempt(attempt); + const start = attempt.time; + const stop = events[events.length - 1].time; + + const assigned: Event[] = []; + const resumed: GoalId[] = []; + const removed: GoalId[] = []; + + events.forEach(e => { + switch (e.item.name) { + case 'user:assign': + assigned.push({ + kind: 'Assign', + repr: decodeString(e) + }) + break; + case 'user:CHR:resumed': + resumed.push(e.item.goal_id) + break; + case 'user:CHR:rule-remove-constraints': + removed.push(...e.item.payload.map(s => Number.parseInt(s))) + break; + } + }) + + const decoded = { + loc, code, timestamp: { start, stop }, events: assigned, resumed, removed + }; + if (has('user:CHR:rule-fired', events)) { + successful.push(decoded); + } else { + failed.push(decoded); + } + }); + + return { successful, failed }; +} + +export function decodeString(input: TimedItem): string { + return input.item.payload.join(''); +} + +export function decodeInt(input: TimedItem): number { + // TODO: better errors? + const [s] = input.item.payload; + return Number.parseInt(s); +} + +const ctxRegex = /File "\(context step_id:(?\d+)\)"/; +const fileRegex = /File "(?[^"]+)", line (?\d+), column (?\d+), characters? (?-?\d+)/; +function parseLoc(input: string): Location { + let matches = ctxRegex.exec(input); + if (matches) { + return { + kind: 'Context', + step: Number.parseInt(matches.groups!['step']) + } + } + matches = fileRegex.exec(input); + if (matches) { + const groups = matches.groups!; + return { + kind: 'File', + file: { + filename: groups['name'], + line: Number.parseInt(groups['line']), + column: Number.parseInt(groups['col']), + character: Number.parseInt(groups['beg']) + } + }; + } + throw new DecodeError('Error decoding location', input); +} + +export function decodeCut(input: TimedItem): Cut { + const [g, r, t] = input.item.payload; + return { + goalId: Number.parseInt(g), + loc: parseLoc(r), + clause: t + }; +} + +export function decodeChrStoreEntry(item: TimedItem): Constraint { + const [gid, gtext] = item.item.payload; + return { + id: Number.parseInt(gid), + text: gtext + } +} + +export type DecodedStep = + | R<'Suspend', V> + | R<'Findall', { origin: TimedItem, start: Time }> + | R<'Cut', V> + | R<'Focus', V> + | R<'Resumption', V> + | R<'CHR', { storeBefore: Constraint[], storeAfter: Constraint[] }> + | R<'Init', { goalId: GoalId }> + | R<'Broken', { step: StepIdx, time: Time }>; + +export function decodeStep(l: TimedItem[]): DecodedStep { + const curgoal = has('user:curgoal', l); + const rule = has('user:rule', l); + const rulePayload = rule ? decodeString(rule) : null; + const builtin = has('user:rule:builtin:name', l); + const builtinName = builtin ? decodeString(builtin) : null; + const chr = has('user:CHR:try', l); + const newg = has('user:newgoal', l); + if (curgoal) { + if (builtinName === 'declare_constraint' && !chr) { + return { kind: 'Suspend', value: curgoal }; + } + if (rulePayload === 'findall' && !chr) { + return { kind: 'Findall', origin: curgoal, start: rule!.time }; + } + if (rulePayload === 'cut' && !chr) { + return { kind: 'Cut', value: curgoal }; + } + if (!chr) { + return { kind: 'Focus', value: curgoal }; + } + } else { + if (rulePayload === 'resume' && !chr) { + return { + kind: 'Resumption', + value: all('user:rule:resume:resumed', i => i, l) + }; + } + if (chr) { + return { + kind: 'CHR', + storeBefore: all('user:CHR:store:before', decodeChrStoreEntry, l), + storeAfter: all('user:CHR:store:after', decodeChrStoreEntry, l) + }; + } + if (!chr && newg) { + return { kind: 'Init', goalId: newg.item.goal_id }; + } + } + + const x = l[0]; + return { + kind: 'Broken', + step: x.item.step, + time: x.time + }; +} diff --git a/src/shared/elaborator/elaboration.mts b/src/shared/elaborator/elaboration.mts new file mode 100644 index 0000000..93afd69 --- /dev/null +++ b/src/shared/elaborator/elaboration.mts @@ -0,0 +1,446 @@ +import Unreachable from '../unreachable.mjs'; +import * as D from './decoding.mjs'; +import StepMap, { SortedStepMap } from './StepMap.mjs'; +import type { + CHRAttempt, + Constraint, + Cut, + Event, + GoalId, + GoalMap, + Location, + R, + RawStep, + StepId, + StepIdx, + Time, + TimedItem, + Timestamp, + V +} from './types.mjs'; + + +export type Outcome = + | R<'Success', { siblings: GoalId[] }> + | R<'Fail'>; + +type BuiltinRule = { + name: string, + kind: 'Logic' | 'FFI', + payload: string[] +}; + +type UserRule = { + ruleText: string, + ruleLoc: Location, +}; + +export type Rule = + | R<'BuiltinRule', V> + | R<'UserRule', V>; + +export type Attempt = { + loc: Location, + code: string, + events: Event[] +}; + +type Action = + | R<'Builtin', { name: BuiltinRule, outcome: Outcome, events: Event[] }> + | R<'Backchain', { trylist: Attempt[], outcome: Outcome }> + +export type ResumeStep = R<'Resume', V<{ goalId: GoalId, goal: string }[]>>; +export type Step = + | R<'Init', { goalId: GoalId }> + | R<'Findall', { goal: string, goalId: GoalId, timestamp: Timestamp, result: string[] }> + | R<'Inference', { goal: string, pred: string, goalId: GoalId, action: Action, rid: number }> + | R<'Suspend', { goal: string, goalId: GoalId, sibling: GoalId }> + | R<'Cut', { goalId: GoalId, cut: Cut[] }> + | ResumeStep + | R<'CHR', { failed: CHRAttempt[], successful: CHRAttempt[], storeBefore: Constraint[], storeAfter: Constraint[] }> + | R<'Broken', { step: StepIdx, time: Time }>; + +export type TimedStep = { + timestamp: Timestamp, + step: Step +} + +class ElaborationError extends Error { + public step: RawStep; + constructor(message: string, step: RawStep) { + super(message); + this.name = 'ElaborationError'; + this.step = step; + } +} + +function builtinName(l: TimedItem[]): BuiltinRule | null { + const name = D.has('user:rule:builtin:name', l); + if (!name) + return null; + return { + kind: 'FFI', + name: D.decodeString(name), + payload: [] + } +} + +function pushFrame( + stepId: StepId, + goalId: GoalId, + rule: Rule, + siblings: GoalId[], + stacks: StepMap, + seedStacks: GoalMap +) { + const thisStack = stacks.get(stepId) ?? seedStacks.get(goalId) ?? []; + const newStack: Stack = [{ rule, stepId }, ...thisStack]; + stacks.set(stepId, newStack); + siblings.forEach(g => { + seedStacks.set(g, newStack); + }) +} + +function initPostponedGoalStack( + stepId: StepId, + goalId: GoalId, + rule: Rule, + seedStacks: GoalMap +) { + // We only update the seed stack: the goals haven't had any progress + // yet, because we're resuming it just now + const thisStack = seedStacks.get(goalId) ?? []; + const newStack: Stack = [{ rule, stepId }, ...thisStack]; + seedStacks.set(goalId, newStack); +} + +function pushEndFrame( + stepId: StepId, + goalId: GoalId, + stacks: StepMap, + seedStacks: GoalMap +) { + const thisStack = stacks.get(stepId) ?? seedStacks.get(goalId) ?? []; + stacks.set(stepId, thisStack) +} + +function elaborateStep( + stepId: StepId, + step: RawStep, + stacks: StepMap, + seedStacks: GoalMap +): Step { + const { runtime: rid, step: stepIdx } = stepId; + const { items } = step; + if (!items.every(i => i.item.runtime_id === rid)) { + throw new ElaborationError('Found step with multiple runtime IDs', step); + } + const decoded = D.decodeStep(items); + switch (decoded.kind) { + case 'Init': + case 'Broken': + return decoded; + case 'Findall': { + const { goal_id: goalId, payload: [_pred, goal] } = decoded.origin.item; + const result = D.all('user:assign', asm => ({ + payload: D.decodeString(asm), time: asm.time + }), items); + if (result.length === 0) { + // TODO: maybe make this a decode error? + throw new ElaborationError('Findall did not assign the result', step) + } + pushFrame( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: { + kind: 'FFI', + name: 'findall', + payload: [] + } + }, + [], + stacks, seedStacks + ) + return { + kind: 'Findall', + goal, goalId, + result: result.map(a => a.payload), + timestamp: { start: decoded.start, stop: result[0].time } + } + } + case 'Suspend': { + const { goal_id: goalId, payload: [_pred, goal] } = decoded.value.item; + const siblings = D.all('user:subgoal', D.decodeInt, items); + if (siblings.length !== 1) { + throw new ElaborationError(`Suspension expects one subgoal, found ${siblings.length}`, step); + } + pushFrame( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: { + kind: 'Logic', + name: 'suspend', + payload: [] + } + }, + siblings, + stacks, seedStacks + ) + return { + kind: 'Suspend', + goal, goalId, sibling: siblings[0] + } + } + case 'Cut': { + const { goal_id: goalId, payload: [_pred, _goal] } = decoded.value.item; + const cut = D.all('user:rule:cut:branch', D.decodeCut, items); + pushFrame( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: { + kind: 'FFI', + name: '!', + payload: [] + } + }, + [], + stacks, seedStacks + ) + return { + kind: 'Cut', + goalId, cut + } + } + case 'Resumption': { + const resumed = decoded.value.map(item => { + const { item: { goal_id: goalId } } = item; + initPostponedGoalStack( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: { + kind: 'Logic', + name: 'resume', + payload: [] + } + }, + seedStacks + ) + return { goalId: item.item.goal_id, goal: D.decodeString(item) } + }); + return { + kind: 'Resume', + value: resumed + }; + } + case 'CHR': { + const trylist = D.chrEventChains('user:CHR:try', items); + const { successful, failed } = D.decodeCHRTryList(trylist); + const { storeBefore, storeAfter } = decoded; + return { + kind: 'CHR', + successful, failed, storeBefore, storeAfter + } + } + case 'Focus': { + const { item: { goal_id: goalId, payload: [pred, goal] }, time } = decoded.value; + const rule = D.has('user:rule', items); + if (!rule || rule.item.payload.length !== 1) { + throw new ElaborationError('Malformed execution step', step) + } + const [name] = rule.item.payload; + const siblings = D.all('user:subgoal', D.decodeInt, items); + + let outcome: Outcome; + { + const result = D.has(`user:rule:${name}`, items); + if (result?.item.payload[0] === 'success') { + outcome = { kind: 'Success', siblings } + } else if (result?.item.payload[0] === 'fail') { + outcome = { kind: 'Fail' } + } else { + return { + kind: 'Broken', + step: stepIdx, + time + }; + } + } + + let action: Action; + switch (name) { + case 'backchain': { + const trylist = D.inferChains('user:rule:backchain:try', items) + .map(c => D.decodeInferAttempt(c)); + if (trylist.length !== 0) { + pushFrame( + stepId, + goalId, + { + kind: 'UserRule', + value: { + ruleLoc: trylist[0].loc, + ruleText: trylist[0].code + } + }, + siblings, + stacks, seedStacks + ) + } else { + if (siblings.length !== 0) { + throw new ElaborationError('Backchain step has siblings but no attempts left', step) + } + pushEndFrame(stepId, goalId, stacks, seedStacks) + } + action = { + kind: 'Backchain', + trylist, outcome + } + break; + } + case 'builtin': { + const name = builtinName(items); + if (!name) { + throw new ElaborationError('Builtin has no name', step); + } + pushFrame( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: name + }, + siblings, + stacks, + seedStacks + ) + const events = D.inferChains('user:rule:builtin:name', items); + if (events.length !== 1) { + throw new ElaborationError( + `Builtin rule expected to have 1 name, received ${events.length}`, + step + ) + } + action = { + kind: 'Builtin', + name, outcome, + events: events[0].tail.map(e => D.decodeInferEvent(e)) + } + break; + } + case 'implication': { + const newHypsItem = D.has('user:new-hyps', items); + const newHyps = newHypsItem?.item.payload ?? []; + pushFrame( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: { + kind: 'Logic', + name: 'implication', + payload: newHyps + } + }, + siblings, + stacks, + seedStacks + ) + action = { + kind: 'Builtin', + name: { + name, + kind: 'Logic', + payload: [] + }, + events: [], + outcome, + } + break; + } + default: { + const ruleName: BuiltinRule = { + kind: 'Logic', + name, + payload: [] + }; + pushFrame( + stepId, + goalId, + { + kind: 'BuiltinRule', + value: ruleName + }, + siblings, + stacks, + seedStacks + ) + const events = D.inferChains('user:rule:builtin:name', items); + action = { + kind: 'Builtin', + name: ruleName, + events: (events.length > 0) + ? events[0].tail.map(e => D.decodeInferEvent(e)) + : [], + outcome + } + break; + } + } + + return { + kind: 'Inference', + goalId, goal, pred, rid, action + } + } + default: + throw new Unreachable(decoded) + } +} + +export type Frame = { + rule: Rule, + stepId: StepId +}; + +export type Stack = Frame[]; + +export type Elaboration = { + steps: SortedStepMap, + stackFrames: StepMap, + goalText: GoalMap +}; + +export function elaborateSteps(steps: StepMap): Elaboration { + const goals: GoalMap = new Map(); + const elaborated: StepMap = new StepMap(); + const stacks: StepMap = new StepMap(); + const seedStacks: GoalMap = new Map(); + + steps.forEach((val, key) => { + val.items.forEach(i => { + const goal = D.has('user:newgoal', [i]); + if (goal) { + goals.set(goal.item.goal_id, D.decodeString(goal)); + } + }) + + elaborated.set(key, { + timestamp: val.timestamp, + step: elaborateStep(key, val, stacks, seedStacks) + }); + }); + + return { + goalText: goals, + steps: elaborated.increasing(), + stackFrames: stacks + } +} diff --git a/src/shared/elaborator/index.mts b/src/shared/elaborator/index.mts new file mode 100644 index 0000000..3b6ad21 --- /dev/null +++ b/src/shared/elaborator/index.mts @@ -0,0 +1,44 @@ +import { readItem, Trace as TraceV2 } from './trace_v2.mjs'; + +import * as A from './analysis.mjs'; +import * as E from './elaboration.mjs'; +import * as C from './presentation.mjs'; +import StepMap from './StepMap.mjs'; +import type { RawStep } from './types.mjs'; + +function readTrace(input: string): StepMap { + const steps: StepMap = new StepMap(); + + let tick = 0; + input.split(/\n/).forEach(line => { + if (!line) return; + const item = readItem(JSON.parse(line)); + if (item.kind.length !== 1 || item.kind[0]?.kind !== 'Info') + return; + + tick += 1; + const id = { step: item.step, runtime: item.runtime_id }; + const next = steps.get(id) ?? { + timestamp: { start: tick, stop: tick }, + items: [] + }; + next.timestamp.stop = tick; + next.items.push({ + time: tick, + item + }); + + steps.set(id, next) + }) + + return steps; +} + +// TODO: handle version 1 +export function elaborate(input: string): TraceV2 { + const raw = readTrace(input); + const elaborated = E.elaborateSteps(raw); + const analysis = A.analyze(elaborated.steps); + const cards = C.materialize(elaborated, analysis); + return cards; +} diff --git a/src/shared/elaborator/presentation.mts b/src/shared/elaborator/presentation.mts new file mode 100644 index 0000000..e8ffb27 --- /dev/null +++ b/src/shared/elaborator/presentation.mts @@ -0,0 +1,474 @@ +// TODO: this should end up in types +import type * as C from './trace_v2.mjs'; + +import Unreachable from '../unreachable.mjs'; +import * as A from './analysis.mjs'; +import * as E from './elaboration.mjs'; +import StepMap from './StepMap.mjs'; +import type { + CHRAttempt, + Constraint, + Event, + GoalId, + GoalMap, + Location, + R, + RuntimeId, + StepId, + StepIdx, + Time, + Timestamp, + V +} from './types.mjs'; + +export class CardError extends Error { + constructor(message: string) { + super(message) + } +} + +function getGoalText(key: GoalId, map: GoalMap): T { + const result = map.get(key); + if (!result) + throw new CardError(`Goal text not found for goal ${key}`); + return result; +} + +function getStack(key: StepId, map: StepMap): E.Stack { + const result = map.get(key); + if (!result) + throw new CardError(`Stack not found for step ${key}`); + return result; +} + +type PreCut = { + goalId: GoalId, + goal: string, + cutBranch: { + clause: string, + loc: Location + } +}; + +type Attempt = { + rule: E.Rule, + events: Event[] +} + +type SuccessfulAttempt = { + attempt: Attempt, + siblings: { goalId: GoalId, goal: string }[], + siblingsOutcome: 'Fail' | 'Success' +} + +type Inference = { + goalId: GoalId, + goal: string, + predicate: string, + failed: Attempt[], + successful: { current: SuccessfulAttempt, more: StepIdx[] } | null, + moreFailed: StepIdx[], + stack: E.Stack +}; + +type PreStep = + | R<'Init', { goalId: GoalId, goal: string }> + | R<'Findall_TODO', { goal: string, goalId: GoalId, timestamp: Timestamp, result: string[] }> + | R<'CHR_TODO', { failed: CHRAttempt[], successful: CHRAttempt[], storeBefore: Constraint[], storeAfter: Constraint[] }> + | R<'Cut', { goalId: GoalId, cuts: PreCut[] }> + | R<'Resume', V<{ goalId: GoalId, goal: string }[]>> + | R<'Suspend', { + goalId: GoalId, + goal: string, + siblingId: GoalId, + sibling: string, + stack: E.Stack + }> + | R<'Inference', Inference>; + +type PreCard = { + timestamp: Timestamp, + stepId: StepId, + step: PreStep +}; + +type Color = C.Color['kind']; + +function contained(outer: Timestamp, inner: Timestamp): boolean { + return outer.start < inner.start && inner.stop <= outer.stop +} + +const toColor = (color: Color): C.Color => ({ kind: color }) + +const toGoal = (g: {goalId: GoalId, goal: string}) => ({ + goal_id: g.goalId, + goal_text: g.goal +}); +const toConstraint = (c: Constraint): C.Goal => ({ + goal_id: c.id, + goal_text: c.text +}) +const toLoc = (l: Location): C.Location => { + if (l.kind === 'Context') { + return { kind: 'Context', value: l.step } + } + if (l.kind === 'File') { + return { kind: 'File', value: l.file } + } + throw new Unreachable(l) +} +const toRule = (r: E.Rule): C.Rule => { + if (r.kind === 'BuiltinRule') { + return { + kind: 'BuiltinRule', + value: { ...r.value, kind: { kind: r.value.kind } } + } + } + if (r.kind === 'UserRule') { + return { + kind: 'UserRule', + value: { rule_text: r.value.ruleText, rule_loc: toLoc(r.value.ruleLoc) } + } + } + throw new Unreachable(r) +} +const toEvent = (e: Event): C.Event => { + if (e.kind === 'Assign') { + return { kind: 'Assign', value: e.repr } + } + if (e.kind === 'Fail') { + return { kind: 'Fail', value: e.failedGoal } + } + if (e.kind === 'ResumeGoal') { + return { kind: 'ResumeGoal', value: e.goals } + } + throw new Unreachable(e) +}; +const toAttempt = (a: Attempt): C.Attempt => ({ + rule: toRule(a.rule), + events: a.events.map(toEvent) +}) +const toSuccess = (e: SuccessfulAttempt): C.SuccessfulAttempt => ({ + attempt: toAttempt(e.attempt), + siblings: e.siblings.map(toGoal), + siblings_aggregated_outcome: { kind: e.siblingsOutcome } +}) +const toFrame = (e: E.Frame): C.Frame => ({ + rule: toRule(e.rule), + step_id: e.stepId.step, + runtime_id: e.stepId.runtime +}); + +export function materialize( + elaboration: E.Elaboration, + analysis: A.Analysis +): C.Trace { + const preCards: PreCard[] = []; + const broken: { step: StepIdx, time: Time }[] = []; + let maxStepIdx = Number.MIN_SAFE_INTEGER; + let minRuntimeIdx = Number.MAX_SAFE_INTEGER; + + // TODO: Some of the later processing might be merged into this pass + elaboration.steps.forEach(({ timestamp, step }, stepId) => { + let preStep: PreStep; + switch (step.kind) { + case 'Broken': + broken.push({ time: step.time, step: step.step }) + return + case 'Resume': + preStep = step; + break; + case 'Findall': + preStep = { ...step, kind: 'Findall_TODO' } + break; + case 'CHR': + preStep = { ...step, kind: 'CHR_TODO' } + break; + case 'Init': + preStep = { + ...step, + goal: getGoalText(step.goalId, elaboration.goalText) + } + break; + case 'Cut': + preStep = { + kind: 'Cut', + goalId: step.goalId, + cuts: step.cut.map(c => ({ + goalId: c.goalId, + goal: getGoalText(c.goalId, elaboration.goalText), + cutBranch: { + clause: c.clause, + loc: c.loc + } + })) + } + break; + case 'Suspend': + preStep = { + kind: 'Suspend', + goalId: step.goalId, + goal: getGoalText(step.goalId, elaboration.goalText), + siblingId: step.sibling, + sibling: getGoalText(step.sibling, elaboration.goalText), + stack: getStack(stepId, elaboration.stackFrames) + } + break + case 'Inference': { + let failed: Attempt[]; + let successful: SuccessfulAttempt | null; + + const mkSuccess = (rule: E.Rule, events: Event[], siblings: GoalId[]): SuccessfulAttempt => ({ + attempt: { rule, events }, + siblings: siblings.map(g => ({ + goalId: g, + goal: getGoalText(g, elaboration.goalText) + })), + siblingsOutcome: siblings.every( + s => analysis.successful.has(s) + ) ? 'Success' : 'Fail' + }); + const mkFailed = (attempts: E.Attempt[]): Attempt[] => attempts.map(a => ({ + rule: { + kind: 'UserRule', + value: { ruleText: a.code, ruleLoc: a.loc } + }, + events: a.events + })) + + if (step.action.kind === 'Builtin') { + if (step.action.outcome.kind === 'Fail') { + failed = [{ + rule: { kind: 'BuiltinRule', value: step.action.name }, + events: step.action.events + }] + successful = null + } else if (step.action.outcome.kind === 'Success') { + successful = mkSuccess( + { kind: 'BuiltinRule', value: step.action.name }, + step.action.events, + step.action.outcome.siblings + ) + failed = [] + } else { + throw new Unreachable(step.action.outcome) + } + } else if (step.action.kind === 'Backchain') { + if (step.action.outcome.kind === 'Fail') { + failed = mkFailed(step.action.trylist) + successful = null + } else if (step.action.outcome.kind === 'Success') { + const attempts = [...step.action.trylist]; + const { loc, code, events } = attempts.pop()!; + successful = mkSuccess( + { kind: 'UserRule', value: { ruleText: code, ruleLoc: loc } }, + events, + step.action.outcome.siblings, + ) + failed = mkFailed(attempts) + } else { + throw new Unreachable(step.action.outcome) + } + } else { + throw new Unreachable(step.action); + } + + // TODO: merge these nicely + const moreFailed = analysis.attempts.get(step.goalId)?.failing + .filter(i => i.runtime === stepId.runtime && i.step > stepId.step) + .map(i => i.step) ?? []; + moreFailed.sort(); + const moreSuccessful = analysis.attempts.get(step.goalId)?.successful + .filter(i => i.runtime === stepId.runtime && i.step > stepId.step) + .map(i => i.step) ?? []; + moreSuccessful.sort(); + // TODO: assert that no successful -> no more successful + preStep = { + kind: 'Inference', + goalId: step.goalId, + goal: step.goal, + predicate: step.pred, + failed, + successful: successful ? { + current: successful, + more: moreSuccessful + } : null, + moreFailed, + stack: getStack(stepId, elaboration.stackFrames) + } + break; + } + default: + throw new Unreachable(step) + } + + maxStepIdx = Math.max(maxStepIdx, stepId.step) + minRuntimeIdx = Math.min(minRuntimeIdx, stepId.runtime) + preCards.push({ timestamp, stepId, step: preStep }) + }) + + // TODO: why is it okay only if there's exactly one old broken step? + if (broken.length !== 0) { + if (broken.length > 1 || broken[0].step < maxStepIdx) { + const { step, time } = broken[0]; + throw new CardError( + `Input trace is broken since step_id ${step}, json object ${time}` + ) + } + } + + const toChrAttempt = (a: CHRAttempt): C.ChrAttempt => { + if (a.loc.kind !== 'File') + throw new CardError(`CHR attempt had a non-file location ${a.loc}`); + // TODO: port sanity checks + return { + chr_loc: a.loc.file, + chr_text: a.code, + chr_condition_cards: preCards + .filter(p => contained(a.timestamp, p.timestamp)) + .map(preCardToCard) + } + }; + + const toSuccessfulChrAttempt = (a: CHRAttempt): C.SuccessfulChrAttempt => { + const attempt = toChrAttempt(a); + return { + chr_attempt: attempt, + chr_removed_goals: a.removed, + chr_new_goals: a.resumed.map(g => ({ + goal_id: g, + goal_text: getGoalText(g, elaboration.goalText) + })) + } + } + + const inferenceColor = (rid: RuntimeId, { successful }: Inference): Color => { + if (!successful) { + return 'Red'; + } + if (successful.current.siblingsOutcome === 'Success') { + if (successful.more.length === 0) { + return 'Green' + } else { + return 'YellowGreen' + } + } + if (successful.current.siblingsOutcome === 'Fail') { + if (successful.more.length === 0) { + return 'YellowRed'; + } else { + const last = successful.more[successful.more.length - 1]; + const lastCard = preCards.find(c => c.stepId.runtime === rid && c.stepId.step === last) + if (!lastCard) { + throw new CardError(`Last successful sibling [${rid}, ${last}] does not have a card`); + } + if (lastCard.step.kind !== 'Inference') { + throw new CardError(`Last successful sibling [${rid}. ${last}] is not an inference`) + } + const lastColor = inferenceColor(rid, lastCard.step); + if (lastColor === 'Green') { + return 'YellowGreen' + } + if (lastColor === 'Red') { + return 'YellowRed' + } + return lastColor + } + } + throw new Unreachable(successful.current.siblingsOutcome) + } + + const preCardToCard = ({ step, stepId }: PreCard): C.Card => { + const base = { step_id: stepId.step, runtime_id: stepId.runtime }; + switch (step.kind) { + case 'Init': + return { + ...base, + step: { kind: 'Init', value: toGoal(step) }, + color: { kind: 'Grey' } + } + case 'Resume': + return { + ...base, + step: { kind: 'Resume', value: step.value.map(toGoal) }, + color: { kind: 'Grey' } + } + case 'Inference': + return { + ...base, + step: { kind: 'Inference', value: { + current_goal_id: step.goalId, + current_goal_text: step.goal, + current_goal_predicate: step.predicate, + failed_attempts: step.failed.map(toAttempt), + successful_attempts: step.successful ? [toSuccess(step.successful.current)] : [], + more_failing_attempts: step.moreFailed, + more_successful_attempts: step.successful?.more ?? [], + stack: step.stack.map(toFrame) + } }, + color: toColor(inferenceColor(stepId.runtime, step)) + } + case 'Suspend': + return { + ...base, + step: { kind: 'Suspend', value: { + suspend_goal_id: step.goalId, + suspend_goal_text: step.goal, + suspend_sibling: { + goal_id: step.siblingId, + goal_text: step.sibling + }, + suspend_stack: step.stack.map(toFrame) + } }, + color: { kind: 'Grey' } + } + case 'Cut': + return { + ...base, + step: { kind: 'Cut', value: { + cut_goal_id: step.goalId, + cut_victims: step.cuts.map(c => ({ + cut_branch_for_goal: { + goal_id: c.goalId, + goal_text: c.goal + }, + cut_branch: { + rule_text: c.cutBranch.clause, + rule_loc: toLoc(c.cutBranch.loc) + } + })) + } }, + color: { kind: 'Grey' } + } + case 'CHR_TODO': + return { + ...base, + step: { kind: 'CHR', value: { + chr_failed_attempts: step.failed.map(toChrAttempt), + chr_successful_attempts: step.successful.map(toSuccessfulChrAttempt), + chr_store_before: step.storeBefore.map(toConstraint), + chr_store_after: step.storeAfter.map(toConstraint) + } }, + color: { kind: 'Grey' } + } + case 'Findall_TODO': + return { + ...base, + step: { kind: 'Findall', value: { + findall_goal_id: step.goalId, + findall_goal_text: step.goal, + findall_cards: preCards + .filter(p => contained(step.timestamp, p.timestamp)) + .map(preCardToCard), + findall_solution_text: step.result, + findall_stack: getStack(stepId, elaboration.stackFrames).map(toFrame) + } }, + color: { kind: 'Green' } + } + default: + throw new Unreachable(step) + } + } + + return preCards.filter(c => c.stepId.runtime === minRuntimeIdx).map(preCardToCard) +} diff --git a/src/shared/elaborator/types.mts b/src/shared/elaborator/types.mts new file mode 100644 index 0000000..0780616 --- /dev/null +++ b/src/shared/elaborator/types.mts @@ -0,0 +1,69 @@ +import type { Item } from './trace_v2.mjs'; + +export type V = { value: K }; +export type R = { kind: K } & Rec; + +export type StepIdx = number; +export type RuntimeId = number; +export type StepId = { + step: StepIdx, + runtime: RuntimeId +} + +export type GoalId = number; + +export type Time = number; +export type Timestamp = { start: Time; stop: Time }; + +export type TimedItem = { + item: Item, + time: Time +}; + +export type FileLocation = { + filename: string, + line: number, + column: number, + character: number +} + +export type Location = + | R<'File', { file: FileLocation }> + | R<'Context', { step: StepIdx }> + +export type Constraint = { + id: GoalId, + text: string +} + +export type Event = + // repr is a string representation, e.g. "A0 := X0" + | R<'Assign', { repr: string }> + | R<'Fail', { failedGoal: string }> + | R<'ResumeGoal', { goals: GoalId[] }>; + +export type Cut = { + goalId: GoalId, + loc: Location, + clause: string +}; + +export type CHRAttempt = { + loc: Location, + code: string, + events: Event[], + timestamp: Timestamp, + removed: GoalId[], + resumed: GoalId[] +} + +// Note: some of the Map operations can be cleaner with the new API +// available in Node 26 + +export type GoalMap = Map; +export type GoalSet = Set; + +export type RawStep = { + timestamp: Timestamp, + items: TimedItem[] +}; diff --git a/src/shared/unreachable.mts b/src/shared/unreachable.mts new file mode 100644 index 0000000..3215712 --- /dev/null +++ b/src/shared/unreachable.mts @@ -0,0 +1,5 @@ +export default class Unreachable extends Error { + constructor(proof: never) { + super(`This code path was assumed to be unreachable, but object was not handled: ${proof}`) + } +} From 7384d907f12ffe704e95b7aec3bb8ca48a124e8e Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Fri, 24 Jul 2026 18:01:56 +0200 Subject: [PATCH 03/11] Move HTML template to shared This makes it easier to reuse when the trace explorer becomes a standalone static HTML document --- src/extension/provider.ts | 265 +++++--------------------------------- src/shared/mainPage.mts | 252 ++++++++++++++++++++++++++++++++++++ 2 files changed, 281 insertions(+), 236 deletions(-) create mode 100644 src/shared/mainPage.mts diff --git a/src/extension/provider.ts b/src/extension/provider.ts index 3b30ff7..906d186 100644 --- a/src/extension/provider.ts +++ b/src/extension/provider.ts @@ -5,6 +5,8 @@ import * as os from 'node:os'; import * as cp from 'child_process'; import * as fs from 'fs'; +import mainPage from '../shared/mainPage.mjs'; + export class TraceProvider implements vscode.WebviewViewProvider { public static readonly viewType = 'elpi.tracer'; @@ -276,241 +278,32 @@ export class TraceProvider implements vscode.WebviewViewProvider { const styleMDIUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'node_modules', '@mdi', 'font', 'css', 'materialdesignicons.min.css')); const styleMainUri = webview.asWebviewUri(vscode.Uri.joinPath(this._extensionUri, 'media', 'main.css')); -return ` - - - - - - - - - - - - - - - - - - Elpi Tracer - - - -
- - - - - - - - - - - - - - - -
- -
-
-

Code snippet

- -
- -
-
- -
-
-
- -
- Computing trace -
- - - - - - - - - - - -`; + return mainPage({ + styles: { + reset: styleResetUri.toString(), + vscode: styleVSCodeUri.toString(), + bulma: styleBulmaUri.toString(), + divider: styleBulmaDVUri.toString(), + tooltip: styleBulmaTTUri.toString(), + quickview: styleBulmaQVUri.toString(), + pageloader: styleBulmaPLUri.toString(), + collapsible: styleBulmaACUri.toString(), + mdicons: styleMDIUri.toString(), + main: styleMainUri.toString(), + }, + scripts: { + jquery: jqueryUri.toString(), + vue: vueUri.toString(), + fuzz: fuzzUri.toString(), + quickview: bulmaQVUri.toString(), + collapsible: bulmaACUri.toString(), + }, + imports: { + shared: sharedUri.toString() + }, + modules: { + main: scriptUri.toString() + } + }, b => b); } } diff --git a/src/shared/mainPage.mts b/src/shared/mainPage.mts new file mode 100644 index 0000000..d38e5e3 --- /dev/null +++ b/src/shared/mainPage.mts @@ -0,0 +1,252 @@ +type StyleName = + | 'reset' | 'vscode' + | 'bulma' | 'divider' | 'tooltip' | 'quickview' | 'pageloader' | 'collapsible' + | 'mdicons' + | 'main'; + +type ScriptName = + | 'jquery' + | 'vue' + | 'fuzz' + | 'quickview' | 'collapsible'; + +type ImportName = + | 'shared'; + +type ModuleName = + | 'main'; + +export type MainConfig = { + styles: Record, + scripts: Record, + imports: Record, + modules: Record +}; + +export default ( + { styles, scripts, imports, modules }: MainConfig, + contentCB: (body: string) => string +) => ` + + + + + + + ${Object.values(styles).map(style => ``).join('\n')} + + Elpi Tracer + + + ${contentCB(` +
+ + + + + + + + + + + + + + + +
+ +
+
+

Code snippet

+ +
+ +
+
+ +
+
+
+ +
+ Computing trace +
+ + + + ${Object.values(scripts).map(s => ``).join('\n')} + + ${Object.values(modules).map(m => ``).join('\n')} + `)} + +` From ca5982c1ab8ab2f46f5c487b4d44b1a2852cf741 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Fri, 24 Jul 2026 18:35:55 +0200 Subject: [PATCH 04/11] Fortify tsconfig Options set to their less strict variants are options I'd like to eventually make strict, but it's too much of a bother right now --- src/extension/provider.ts | 8 ++-- src/shared/elaborator/decoding.mts | 61 +++++++++++++++++--------- src/shared/elaborator/elaboration.mts | 35 ++++++++++----- src/shared/elaborator/presentation.mts | 6 +-- src/shared/tsconfig.json | 3 +- tsconfig.json | 9 ++++ 6 files changed, 81 insertions(+), 41 deletions(-) diff --git a/src/extension/provider.ts b/src/extension/provider.ts index 906d186..c702eac 100644 --- a/src/extension/provider.ts +++ b/src/extension/provider.ts @@ -35,7 +35,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { this._source = ""; if (os.platform().toString().toLowerCase() == "win32") - this._target_dir = process.env.APPDATA + '\\'; + this._target_dir = process.env['APPDATA'] + '\\'; else this._target_dir = '/tmp/'; @@ -130,7 +130,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { private findFileOnPath(name: string) { if (name.startsWith('/')) { return true }; - const paths = (process.env.PATH || '') + const paths = (process.env['PATH'] || '') .split(path.delimiter) .map(x => path.resolve(x, name)); @@ -212,7 +212,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { let configuration = vscode.workspace.getConfiguration('elpi'); let current_file = ''; - this._elpi = configuration.elpi.path; + this._elpi = configuration['elpi'].path; if(!this.findFileOnPath(this._elpi)) { vscode.window @@ -224,7 +224,7 @@ export class TraceProvider implements vscode.WebviewViewProvider { return; } - this._options_default = configuration.elpi.options; + this._options_default = configuration['elpi'].options; if(vscode.window.activeTextEditor == undefined) return; diff --git a/src/shared/elaborator/decoding.mts b/src/shared/elaborator/decoding.mts index cbb70b4..314c867 100644 --- a/src/shared/elaborator/decoding.mts +++ b/src/shared/elaborator/decoding.mts @@ -103,10 +103,14 @@ export function chrEventChains( } export function decodeAttempt(l: TimedItem): { loc: Location, code: string } { - const [loc, code] = l.item.payload; + const p = l.item.payload; + if (p.length !== 2) { + throw new DecodeError('Expected a location and a string', p.toString()); + } + const [loc, code] = p; return { - loc: parseLoc(loc), - code + loc: parseLoc(loc!), + code: code! } } @@ -115,13 +119,13 @@ export function decodeInferEvent(l: TimedItem): Event { if (l.item.name === 'user:assign:resume' && p.length === 1) { return { kind: 'ResumeGoal', - goals: p[0].split(' ').map(g => Number.parseInt(g)) + goals: p[0]!.split(' ').map(g => Number.parseInt(g)) } } if (l.item.name === 'user:backchain:fail-to' && p.length === 1) { return { kind: 'Fail', - failedGoal: p[0] + failedGoal: p[0]! } } return { @@ -148,7 +152,10 @@ export function decodeCHRTryList( l.forEach(({ head: attempt, tail: events }) => { const { loc, code } = decodeAttempt(attempt); const start = attempt.time; - const stop = events[events.length - 1].time; + if (events.length === 0) { + throw new DecodeError('Expected at least one event in a CHR attempt', ''); + } + const stop = events.at(-1)!.time; const assigned: Event[] = []; const resumed: GoalId[] = []; @@ -189,9 +196,10 @@ export function decodeString(input: TimedItem): string { } export function decodeInt(input: TimedItem): number { - // TODO: better errors? - const [s] = input.item.payload; - return Number.parseInt(s); + if (input.item.payload.length !== 1) { + throw new DecodeError('Expected singleton', input.item.payload.toString()) + } + return Number.parseInt(input.item.payload[0]!); } const ctxRegex = /File "\(context step_id:(?\d+)\)"/; @@ -201,7 +209,7 @@ function parseLoc(input: string): Location { if (matches) { return { kind: 'Context', - step: Number.parseInt(matches.groups!['step']) + step: Number.parseInt(matches.groups!['step']!) } } matches = fileRegex.exec(input); @@ -210,10 +218,10 @@ function parseLoc(input: string): Location { return { kind: 'File', file: { - filename: groups['name'], - line: Number.parseInt(groups['line']), - column: Number.parseInt(groups['col']), - character: Number.parseInt(groups['beg']) + filename: groups['name']!, + line: Number.parseInt(groups['line']!), + column: Number.parseInt(groups['col']!), + character: Number.parseInt(groups['beg']!) } }; } @@ -221,19 +229,27 @@ function parseLoc(input: string): Location { } export function decodeCut(input: TimedItem): Cut { + const p = input.item.payload; + if (p.length !== 3) { + throw new DecodeError('Expected a goal, location and text', p.toString()); + } const [g, r, t] = input.item.payload; return { - goalId: Number.parseInt(g), - loc: parseLoc(r), - clause: t + goalId: Number.parseInt(g!), + loc: parseLoc(r!), + clause: t! }; } export function decodeChrStoreEntry(item: TimedItem): Constraint { - const [gid, gtext] = item.item.payload; + const payload = item.item.payload; + if (payload.length !== 2) { + throw new DecodeError('Expected a number and a string', payload.toString()) + } + const [gid, gtext] = payload; return { - id: Number.parseInt(gid), - text: gtext + id: Number.parseInt(gid!), + text: gtext! } } @@ -287,7 +303,10 @@ export function decodeStep(l: TimedItem[]): DecodedStep { } } - const x = l[0]; + if (l.length === 0) { + throw new DecodeError('Empty step encountered', '') + } + const x = l[0]!; return { kind: 'Broken', step: x.item.step, diff --git a/src/shared/elaborator/elaboration.mts b/src/shared/elaborator/elaboration.mts index 93afd69..8877ecf 100644 --- a/src/shared/elaborator/elaboration.mts +++ b/src/shared/elaborator/elaboration.mts @@ -135,13 +135,20 @@ function elaborateStep( if (!items.every(i => i.item.runtime_id === rid)) { throw new ElaborationError('Found step with multiple runtime IDs', step); } + const unGoal = (payload: string[]) => { + if (payload.length !== 2) { + throw new ElaborationError('Expected a predicate and goal', step); + } + return { pred: payload[0]!, goal: payload[1]! }; + } const decoded = D.decodeStep(items); switch (decoded.kind) { case 'Init': case 'Broken': return decoded; case 'Findall': { - const { goal_id: goalId, payload: [_pred, goal] } = decoded.origin.item; + const { goal_id: goalId, payload } = decoded.origin.item; + const { goal } = unGoal(payload); const result = D.all('user:assign', asm => ({ payload: D.decodeString(asm), time: asm.time }), items); @@ -167,11 +174,12 @@ function elaborateStep( kind: 'Findall', goal, goalId, result: result.map(a => a.payload), - timestamp: { start: decoded.start, stop: result[0].time } + timestamp: { start: decoded.start, stop: result[0]!.time } } } case 'Suspend': { - const { goal_id: goalId, payload: [_pred, goal] } = decoded.value.item; + const { goal_id: goalId, payload } = decoded.value.item; + const { goal } = unGoal(payload) const siblings = D.all('user:subgoal', D.decodeInt, items); if (siblings.length !== 1) { throw new ElaborationError(`Suspension expects one subgoal, found ${siblings.length}`, step); @@ -192,11 +200,12 @@ function elaborateStep( ) return { kind: 'Suspend', - goal, goalId, sibling: siblings[0] + goal, goalId, sibling: siblings[0]! } } case 'Cut': { - const { goal_id: goalId, payload: [_pred, _goal] } = decoded.value.item; + const { goal_id: goalId, payload } = decoded.value.item; + const {} = unGoal(payload) const cut = D.all('user:rule:cut:branch', D.decodeCut, items); pushFrame( stepId, @@ -250,12 +259,13 @@ function elaborateStep( } } case 'Focus': { - const { item: { goal_id: goalId, payload: [pred, goal] }, time } = decoded.value; + const { item: { goal_id: goalId, payload }, time } = decoded.value; + const { pred, goal } = unGoal(payload); const rule = D.has('user:rule', items); if (!rule || rule.item.payload.length !== 1) { throw new ElaborationError('Malformed execution step', step) } - const [name] = rule.item.payload; + const name = rule.item.payload[0]!; const siblings = D.all('user:subgoal', D.decodeInt, items); let outcome: Outcome; @@ -280,14 +290,15 @@ function elaborateStep( const trylist = D.inferChains('user:rule:backchain:try', items) .map(c => D.decodeInferAttempt(c)); if (trylist.length !== 0) { + const { loc, code } = trylist[0]!; pushFrame( stepId, goalId, { kind: 'UserRule', value: { - ruleLoc: trylist[0].loc, - ruleText: trylist[0].code + ruleLoc: loc, + ruleText: code } }, siblings, @@ -331,7 +342,7 @@ function elaborateStep( action = { kind: 'Builtin', name, outcome, - events: events[0].tail.map(e => D.decodeInferEvent(e)) + events: events[0]!.tail.map(e => D.decodeInferEvent(e)) } break; } @@ -386,8 +397,8 @@ function elaborateStep( action = { kind: 'Builtin', name: ruleName, - events: (events.length > 0) - ? events[0].tail.map(e => D.decodeInferEvent(e)) + events: (events.length !== 0) + ? events[0]!.tail.map(e => D.decodeInferEvent(e)) : [], outcome } diff --git a/src/shared/elaborator/presentation.mts b/src/shared/elaborator/presentation.mts index e8ffb27..f1e6c85 100644 --- a/src/shared/elaborator/presentation.mts +++ b/src/shared/elaborator/presentation.mts @@ -309,8 +309,8 @@ export function materialize( // TODO: why is it okay only if there's exactly one old broken step? if (broken.length !== 0) { - if (broken.length > 1 || broken[0].step < maxStepIdx) { - const { step, time } = broken[0]; + if (broken.length > 1 || broken[0]!.step < maxStepIdx) { + const { step, time } = broken[0]!; throw new CardError( `Input trace is broken since step_id ${step}, json object ${time}` ) @@ -357,7 +357,7 @@ export function materialize( if (successful.more.length === 0) { return 'YellowRed'; } else { - const last = successful.more[successful.more.length - 1]; + const last = successful.more.at(-1); const lastCard = preCards.find(c => c.stepId.runtime === rid && c.stepId.step === last) if (!lastCard) { throw new CardError(`Last successful sibling [${rid}, ${last}] does not have a card`); diff --git a/src/shared/tsconfig.json b/src/shared/tsconfig.json index c804f30..9937aa1 100644 --- a/src/shared/tsconfig.json +++ b/src/shared/tsconfig.json @@ -8,5 +8,6 @@ "rootDir": "../", "outDir": "../../out" }, - "include": ["."] + "include": ["."], + "exclude": ["elaborator/trace_v1.mts"] } diff --git a/tsconfig.json b/tsconfig.json index f067df2..c846f48 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,14 @@ { "compilerOptions": { + "allowUnreachableCode": false, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "forceConsistentCasingInFileNames": true, + "verbatimModuleSyntax": false, "sourceMap": true, "strict": true }, From 76c64cf8c4f12deafc58c1ed8afb3a4387afc98d Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sat, 25 Jul 2026 23:07:59 +0200 Subject: [PATCH 05/11] Support v1 traces --- media/main.js | 12 +++--- src/shared/elaborator/decoding.mts | 4 +- src/shared/elaborator/elaboration.mts | 28 +++++++++----- src/shared/elaborator/index.mts | 37 ++----------------- src/shared/elaborator/parsing.mts | 53 +++++++++++++++++++++++++++ src/shared/elaborator/trace_v1.mts | 4 ++ src/shared/elaborator/types.mts | 23 ++++++++---- src/shared/tsconfig.json | 3 +- 8 files changed, 106 insertions(+), 58 deletions(-) create mode 100644 src/shared/elaborator/parsing.mts diff --git a/media/main.js b/media/main.js index 7ef8fd2..eb361a7 100644 --- a/media/main.js +++ b/media/main.js @@ -981,15 +981,15 @@ ${step.value.findall_solution_text} rule_text_full = rule_text } - if (rule_type == "BuiltinRule") - if (element.value.name) {// v2 - rule_text = element.value.kind.kind + ' - ' + element.value.name + ': ' + element.value.payload.join('\n'); - rule_text_full = element.value.payload.join('\n'); + if (rule_type == "BuiltinRule") { + rule_text = element.value.kind.kind + ' - ' + element.value.name; + if (element.value.payload.length !== 0) {// v2 + rule_text_full = element.value.payload.join('\n') + rule_text += ': ' + rule_text_full; } else { //v1 - rule_text = element.value.kind + ' - ' + element.value.value; rule_text_full = rule_text } - // rule_text = rule_text.trim(); + } let fmt = `
diff --git a/src/shared/elaborator/decoding.mts b/src/shared/elaborator/decoding.mts index 314c867..7a10c41 100644 --- a/src/shared/elaborator/decoding.mts +++ b/src/shared/elaborator/decoding.mts @@ -7,10 +7,12 @@ import type { R, StepIdx, Time, - TimedItem, + Timed, + Item2, V, Event } from './types.mjs'; +type TimedItem = Timed<{ item: Item2 }> export function has< K, T extends { item: { name: K } } diff --git a/src/shared/elaborator/elaboration.mts b/src/shared/elaborator/elaboration.mts index 8877ecf..99ca715 100644 --- a/src/shared/elaborator/elaboration.mts +++ b/src/shared/elaborator/elaboration.mts @@ -9,16 +9,19 @@ import type { GoalId, GoalMap, Location, + ParsedTrace, R, - RawStep, + RawStep2 as RawStep, + Item2, StepId, StepIdx, Time, - TimedItem, + Timed, Timestamp, - V + V, + Timestamped } from './types.mjs'; - +type TimedItem = Timed<{ item: Item2 }> export type Outcome = | R<'Success', { siblings: GoalId[] }> @@ -60,10 +63,7 @@ export type Step = | R<'CHR', { failed: CHRAttempt[], successful: CHRAttempt[], storeBefore: Constraint[], storeAfter: Constraint[] }> | R<'Broken', { step: StepIdx, time: Time }>; -export type TimedStep = { - timestamp: Timestamp, - step: Step -} +export type TimedStep = Timestamped<{ step: Step }> class ElaborationError extends Error { public step: RawStep; @@ -423,18 +423,28 @@ export type Frame = { export type Stack = Frame[]; +// TODO: Elaboration should be representation independent, move the +// types out of trace_vX.mts to types.mts export type Elaboration = { steps: SortedStepMap, stackFrames: StepMap, goalText: GoalMap }; -export function elaborateSteps(steps: StepMap): Elaboration { +export function elaborateSteps(parsedSteps: ParsedTrace): Elaboration { const goals: GoalMap = new Map(); const elaborated: StepMap = new StepMap(); const stacks: StepMap = new StepMap(); const seedStacks: GoalMap = new Map(); + // The v1 and v2 raw traces are syntactically identical, so we can + // reuse the same code. There is a semantic difference, since some + // v2 BuiltinRule nodes are supposed to have more metadata, but we + // can't syntactically distinguish v1 and v2, so instead we use + // default values for the missing metadata during elaboration. + const steps = parsedSteps.value; + + steps.forEach((val, key) => { val.items.forEach(i => { const goal = D.has('user:newgoal', [i]); diff --git a/src/shared/elaborator/index.mts b/src/shared/elaborator/index.mts index 3b6ad21..77920b9 100644 --- a/src/shared/elaborator/index.mts +++ b/src/shared/elaborator/index.mts @@ -1,42 +1,13 @@ -import { readItem, Trace as TraceV2 } from './trace_v2.mjs'; +// TODO: extract to types.mts +import { Trace as TraceV2 } from './trace_v2.mjs'; import * as A from './analysis.mjs'; import * as E from './elaboration.mjs'; import * as C from './presentation.mjs'; -import StepMap from './StepMap.mjs'; -import type { RawStep } from './types.mjs'; +import * as P from './parsing.mjs'; -function readTrace(input: string): StepMap { - const steps: StepMap = new StepMap(); - - let tick = 0; - input.split(/\n/).forEach(line => { - if (!line) return; - const item = readItem(JSON.parse(line)); - if (item.kind.length !== 1 || item.kind[0]?.kind !== 'Info') - return; - - tick += 1; - const id = { step: item.step, runtime: item.runtime_id }; - const next = steps.get(id) ?? { - timestamp: { start: tick, stop: tick }, - items: [] - }; - next.timestamp.stop = tick; - next.items.push({ - time: tick, - item - }); - - steps.set(id, next) - }) - - return steps; -} - -// TODO: handle version 1 export function elaborate(input: string): TraceV2 { - const raw = readTrace(input); + const raw = P.parseTrace(input); const elaborated = E.elaborateSteps(raw); const analysis = A.analyze(elaborated.steps); const cards = C.materialize(elaborated, analysis); diff --git a/src/shared/elaborator/parsing.mts b/src/shared/elaborator/parsing.mts new file mode 100644 index 0000000..0acb75f --- /dev/null +++ b/src/shared/elaborator/parsing.mts @@ -0,0 +1,53 @@ +import { readItem as readItem1 } from './trace_v1.mjs'; +import { readItem as readItem2 } from './trace_v2.mjs'; +import StepMap from './StepMap.mjs'; +import type { Timed, Timestamped, ParsedTrace } from './types.mjs'; + +export type Parsable = { + kind: { kind: string }[], + step: number, + runtime_id: number, +}; +export type Parser = (x: any) => T; +export type Parsed = Timestamped<{ items: Timed<{ item: T }>[] }>; + +function runParser(parser: Parser, input: string): StepMap> { + const steps: StepMap> = new StepMap(); + + let tick = 0; + input.split(/\n/).forEach(line => { + if (!line) return; + + const item = parser(JSON.parse(line)); + if (item.kind.length !== 1 || item.kind[0]?.kind !== 'Info') + return; + + tick += 1; + const id = { step: item.step, runtime: item.runtime_id }; + const next = steps.get(id) ?? { + timestamp: { start: tick, stop: tick }, + items: [] + }; + next.timestamp.stop = tick; + next.items.push({ + time: tick, + item + }); + + steps.set(id, next) + }) + + return steps; +} + +export function parseTrace(input: string): ParsedTrace { + try { + return { kind: 'V2', value: runParser(readItem2, input) } + } catch { + try { + return { kind: 'V1', value: runParser(readItem1, input) } + } catch (e) { + throw new Error('Trace format not recognized') + } + } +} diff --git a/src/shared/elaborator/trace_v1.mts b/src/shared/elaborator/trace_v1.mts index 7bf7fa8..053a424 100644 --- a/src/shared/elaborator/trace_v1.mts +++ b/src/shared/elaborator/trace_v1.mts @@ -7,6 +7,10 @@ // - 'readFoo': convert a JSON-compatible value into a TypeScript value // of type 'Foo'. +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-nocheck +/* tslint:disable */ +/* eslint-disable */ export type Item = { kind: Kind[]; diff --git a/src/shared/elaborator/types.mts b/src/shared/elaborator/types.mts index 0780616..25d8426 100644 --- a/src/shared/elaborator/types.mts +++ b/src/shared/elaborator/types.mts @@ -1,4 +1,8 @@ -import type { Item } from './trace_v2.mjs'; +import type { Item as Item1 } from './trace_v1.mjs'; +import type { Item as Item2 } from './trace_v2.mjs'; +export type { Item as Item1 } from './trace_v1.mjs'; +export type { Item as Item2 } from './trace_v2.mjs'; +import type StepMap from './StepMap.mts'; export type V = { value: K }; export type R = { kind: K } & Rec; @@ -15,11 +19,14 @@ export type GoalId = number; export type Time = number; export type Timestamp = { start: Time; stop: Time }; -export type TimedItem = { - item: Item, +export type Timed = R & { time: Time }; +export type Timestamped = R & { + timestamp: Timestamp +} + export type FileLocation = { filename: string, line: number, @@ -63,7 +70,9 @@ export type CHRAttempt = { export type GoalMap = Map; export type GoalSet = Set; -export type RawStep = { - timestamp: Timestamp, - items: TimedItem[] -}; +export type RawStep1 = Timestamped<{ items: Timed<{ item : Item1 }>[]}>; +export type RawStep2 = Timestamped<{ items: Timed<{ item : Item2 }>[]}>; + +export type ParsedTrace = + | R<'V1', V>> + | R<'V2', V>>; diff --git a/src/shared/tsconfig.json b/src/shared/tsconfig.json index 9937aa1..c804f30 100644 --- a/src/shared/tsconfig.json +++ b/src/shared/tsconfig.json @@ -8,6 +8,5 @@ "rootDir": "../", "outDir": "../../out" }, - "include": ["."], - "exclude": ["elaborator/trace_v1.mts"] + "include": ["."] } From aaa2e92337d3f34bf8b9c8aff1c145c27da60ec0 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sat, 25 Jul 2026 23:12:46 +0200 Subject: [PATCH 06/11] Elaborator docs --- src/shared/elaborator/README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/shared/elaborator/README.md diff --git a/src/shared/elaborator/README.md b/src/shared/elaborator/README.md new file mode 100644 index 0000000..af65755 --- /dev/null +++ b/src/shared/elaborator/README.md @@ -0,0 +1,23 @@ +The pipeline for processing a trace into renderable data consists of the +following steps: + +- [Parsing](./parsing.mts) +- [Elaboration](./elaboration.mts) +- [Analysis](./analysis.mts) +- [Rendering](./presentation.mts) + +Parsing accepts a string, parses it into version-specific items, and groups them +into a map indexed by "step keys" (a combination of a step index and a runtime +index). The item parser is generated from the ATD files, which come from the +[elpi repo](https://github.com/LPCIC/elpi). It is the parser's responsibility to +decide which version of the trace it's reading: it returns a tagged union. + +Elaboration then takes this map and turns it into version-independent semantic +information, decoding the grouped items. Analysis does some further global +semantic analysis, and rendering processes the analyzed trace into MVVM-style +viewmodel (data that the frontend can easily render). + +Currently the internal semantic and presentation types are taken from the v2 +trace. The plan for the future is to make something more built for purpose, but +it would probably be wise to do this refactoring after `main.js` is turned into +`main.mts` and has access to this information. From 1fbc082e794a7f5779f28b3098ead375b49b8915 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sun, 26 Jul 2026 01:00:16 +0200 Subject: [PATCH 07/11] Add elaboration tests --- package.json | 6 +- src/extension/tsconfig.json | 4 +- src/shared/tsconfig.json | 2 - src/tests/elaborator.mts | 59 + src/tests/index.mts | 1 + src/tests/sources/broken_trace1.elab.json | 367799 +++++++++++++++ src/tests/sources/broken_trace1.json | 5343 + src/tests/sources/broken_trace2.json | 5338 + src/tests/sources/trace.elab.json | 1148 + src/tests/sources/trace.json | 85 + src/tests/sources/trace2.elab.json | 627 + src/tests/sources/trace2.json | 47 + src/tests/sources/trace3.elab.json | 499 + src/tests/sources/trace3.json | 50 + src/tests/sources/trace4.elab.json | 675 + src/tests/sources/trace4.json | 60 + src/tests/sources/trace_chr.elab.json | 1418 + src/tests/sources/trace_chr.json | 143 + src/tests/sources/trace_cut.elab.json | 820 + src/tests/sources/trace_cut.json | 82 + src/tests/sources/trace_findall.elab.json | 539 + src/tests/sources/trace_findall.json | 53 + src/tests/sources/trace_implication.elab.json | 3277 + src/tests/sources/trace_implication.json | 169 + src/tests/sources/trace_w.elab.json | 9162 + src/tests/sources/trace_w.json | 623 + src/tests/tsconfig.json | 12 + tsconfig.json | 3 +- 28 files changed, 398037 insertions(+), 7 deletions(-) create mode 100644 src/tests/elaborator.mts create mode 100644 src/tests/index.mts create mode 100644 src/tests/sources/broken_trace1.elab.json create mode 100644 src/tests/sources/broken_trace1.json create mode 100644 src/tests/sources/broken_trace2.json create mode 100644 src/tests/sources/trace.elab.json create mode 100644 src/tests/sources/trace.json create mode 100644 src/tests/sources/trace2.elab.json create mode 100644 src/tests/sources/trace2.json create mode 100644 src/tests/sources/trace3.elab.json create mode 100644 src/tests/sources/trace3.json create mode 100644 src/tests/sources/trace4.elab.json create mode 100644 src/tests/sources/trace4.json create mode 100644 src/tests/sources/trace_chr.elab.json create mode 100644 src/tests/sources/trace_chr.json create mode 100644 src/tests/sources/trace_cut.elab.json create mode 100644 src/tests/sources/trace_cut.json create mode 100644 src/tests/sources/trace_findall.elab.json create mode 100644 src/tests/sources/trace_findall.json create mode 100644 src/tests/sources/trace_implication.elab.json create mode 100644 src/tests/sources/trace_implication.json create mode 100644 src/tests/sources/trace_w.elab.json create mode 100644 src/tests/sources/trace_w.json create mode 100644 src/tests/tsconfig.json diff --git a/package.json b/package.json index da5bb5a..604719a 100644 --- a/package.json +++ b/package.json @@ -149,8 +149,12 @@ "build": "mustache elpiLexicalConventions.js syntaxes/elpi.tmLanguage.mustache > syntaxes/elpi.tmLanguage.json", "vscode:prepublish": "npm run compile", "compile": "tsc -b ./src/extension", + "compile:tests": "tsc -b ./src/tests", "lint": "eslint . --ext .ts,.tsx", - "watch": "tsc -b -w ./src/extension", + "watch": "npm run compile -- -w", + "watch:tests": "npm run compile:tests -- -w", + "run:test": "node ./out/tests/index.mjs", + "test": "npm run compile:tests && cp -r ./src/tests/sources ./out/tests/ && npm run run:test", "deploy": "vsce publish" }, "devDependencies": { diff --git a/src/extension/tsconfig.json b/src/extension/tsconfig.json index 59671fd..9336a3b 100644 --- a/src/extension/tsconfig.json +++ b/src/extension/tsconfig.json @@ -3,11 +3,9 @@ "compilerOptions": { "composite": true, "module": "commonjs", - "target": "es2022", - "lib": ["es2022"], "rootDir": "../", "outDir": "../../out" }, "include": ["."], - "references": [{"path": "../shared"}] + "references": [{ "path": "../shared" }] } diff --git a/src/shared/tsconfig.json b/src/shared/tsconfig.json index c804f30..b4f5201 100644 --- a/src/shared/tsconfig.json +++ b/src/shared/tsconfig.json @@ -3,8 +3,6 @@ "compilerOptions": { "composite": true, "module": "node18", - "target": "es2022", - "lib": ["es2022"], "rootDir": "../", "outDir": "../../out" }, diff --git a/src/tests/elaborator.mts b/src/tests/elaborator.mts new file mode 100644 index 0000000..5315afe --- /dev/null +++ b/src/tests/elaborator.mts @@ -0,0 +1,59 @@ +import { suite, test } from 'node:test'; +import * as assert from 'node:assert' +import * as fs from 'node:fs/promises' +import * as path from 'node:path' + +import * as E from '../shared/elaborator/index.mjs'; +// TODO: compare IR instead of the ATD format +import { writeTrace } from '../shared/elaborator/trace_v2.mjs'; + +const traces = [ + 'trace_chr', + 'trace', + 'trace2', + 'trace3', + 'trace4', + 'trace_w', + 'trace_cut', + 'trace_findall', + 'trace_implication', + 'broken_trace1', +].map(t => ({ source: t, target: `${t}.elab` })) + +const brokenTraces = [ + { + source: 'broken_trace2', + validate: /Input trace is broken since step_id 217, json object 1857$/ + } +]; + +function getTrace(name: string): Promise { + return fs.readFile( + path.join(import.meta.dirname, 'sources', `${name}.json`), + 'utf-8' + ) +} + +suite('Successful elaboration tests', () => { + traces.forEach(({ source, target }) => { + test(`Elaborate ${source}`, async () => { + const input = await getTrace(source); + const expectedOutput= JSON.parse(await getTrace(target)); + + const elaborated = E.elaborate(input); + const output = writeTrace(elaborated); + // TODO: implement promotion + assert.partialDeepStrictEqual(output, expectedOutput); + // assert.deepStrictEqual(output, expectedOutput); + }) + }) +}) + +suite('Failing elaboration tests', () => { + brokenTraces.forEach(({ source, validate }) => { + test(`Fail elaboration of ${source}`, async () => { + const input = await getTrace(source); + assert.throws(() => E.elaborate(input), validate) + }) + }) +}) diff --git a/src/tests/index.mts b/src/tests/index.mts new file mode 100644 index 0000000..a87f341 --- /dev/null +++ b/src/tests/index.mts @@ -0,0 +1 @@ +import './elaborator.mjs' diff --git a/src/tests/sources/broken_trace1.elab.json b/src/tests/sources/broken_trace1.elab.json new file mode 100644 index 0000000..0921729 --- /dev/null +++ b/src/tests/sources/broken_trace1.elab.json @@ -0,0 +1,367799 @@ +[ + { + "step_id": 0, + "runtime_id": 8, + "step": [ + "Init", + { + "goal_text": "attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] =>\n main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]", + "goal_id": 1121 + } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1121, + "current_goal_text": "attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] =>\n main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]", + "goal_id": 1122 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 2, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1122, + "current_goal_text": "main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := _" ], + [ + "Assign", + "A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]" + ], + [ "Assign", "A2 := arity X1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1123 }, + { + "goal_text": "with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))", + "goal_id": 1124 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 3, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1123, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity 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 (instance.declare-existing A0 A1))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 596, + "column": 0, + "character": 140 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]", + "goal_id": 1122 + }, + "cut_branch": { + "rule_text": "(main _) :- (coq.error\n Usage: HB.instance Definition := T ...).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 600, + "column": 0, + "character": 368 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 4, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1124, + "current_goal_text": "with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))", + "current_goal_predicate": "with-attributes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)" + ] + ] + }, + "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-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes X2 \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 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_id": 1126 + }, + { "goal_text": "!", "goal_id": 1127 }, + { + "goal_text": "X3 =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))", + "goal_id": 1128 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 5, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1125, + "current_goal_text": "attributes X2", + "current_goal_predicate": "attributes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- .", + "rule_loc": [ "Context", 1 ] + } + ], + "events": [ + [ + "Assign", + "X2 := [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- .", + "rule_loc": [ "Context", 1 ] + } + ], + "step_id": 5, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 6, + "runtime_id": 8, + "step": [ + "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 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "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 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 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_id": 1129 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 7, + "runtime_id": 8, + "step": [ + "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 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 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", + "current_goal_predicate": "coq.parse-attributes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]" + ], + [ + "Assign", + "A1 := [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 compress_coercions 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]" + ], + [ "Assign", "A2 := X3" ] + ] + }, + "siblings": [ + { + "goal_text": "std.map\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 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 = supported-attribute c0) X4", + "goal_id": 1130 + }, + { + "goal_text": "X4 =>\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 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 8, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1130, + "current_goal_text": "std.map\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 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 = supported-attribute c0) X4", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att verbose bool" ], + [ + "Assign", + "A1 := [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X4 := [X5 | X6]" ] + ] + }, + "siblings": [ + { + "goal_text": "X5 = supported-attribute (att verbose bool)", + "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 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 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 = supported-attribute c0) X6", + "goal_id": 1134 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 9, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1133, + "current_goal_text": "X5 = supported-attribute (att verbose bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X5 := supported-attribute (att verbose bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 9, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 10, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1134, + "current_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 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 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 = supported-attribute c0) X6", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att mathcomp bool" ], + [ + "Assign", + "A1 := [att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X6 := [X7 | X8]" ] + ] + }, + "siblings": [ + { + "goal_text": "X7 = supported-attribute (att mathcomp bool)", + "goal_id": 1135 + }, + { + "goal_text": "std.map\n [att mathcomp.axiom string, att short.type string, 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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X8", + "goal_id": 1136 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 11, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1135, + "current_goal_text": "X7 = supported-attribute (att mathcomp bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X7 := supported-attribute (att mathcomp bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 11, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 12, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1136, + "current_goal_text": "std.map\n [att mathcomp.axiom string, att short.type string, 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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X8", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att mathcomp.axiom string" ], + [ + "Assign", + "A1 := [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 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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X8 := [X9 | X10]" ] + ] + }, + "siblings": [ + { + "goal_text": "X9 = supported-attribute (att mathcomp.axiom 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, 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 = supported-attribute c0) X10", + "goal_id": 1138 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 13, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1137, + "current_goal_text": "X9 = supported-attribute (att mathcomp.axiom string)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X9 := supported-attribute (att mathcomp.axiom string)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 13, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 14, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1138, + "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 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 = supported-attribute c0) X10", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att short.type string" ], + [ + "Assign", + "A1 := [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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X10 := [X11 | X12]" ] + ] + }, + "siblings": [ + { + "goal_text": "X11 = 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 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 = supported-attribute c0) X12", + "goal_id": 1140 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 15, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1139, + "current_goal_text": "X11 = supported-attribute (att short.type string)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X11 := supported-attribute (att short.type string)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 15, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 16, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1140, + "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 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 = supported-attribute c0) X12", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att short.pack string" ], + [ + "Assign", + "A1 := [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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X12 := [X13 | X14]" ] + ] + }, + "siblings": [ + { + "goal_text": "X13 = supported-attribute (att short.pack string)", + "goal_id": 1141 + }, + { + "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 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 = supported-attribute c0) X14", + "goal_id": 1142 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 17, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1141, + "current_goal_text": "X13 = supported-attribute (att short.pack string)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X13 := supported-attribute (att short.pack string)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 17, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 18, + "runtime_id": 8, + "step": [ + "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 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 = supported-attribute c0) X14", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att infer attmap" ], + [ + "Assign", + "A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X14 := [X15 | X16]" ] + ] + }, + "siblings": [ + { + "goal_text": "X15 = supported-attribute (att infer attmap)", + "goal_id": 1143 + }, + { + "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 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 = supported-attribute c0) X16", + "goal_id": 1144 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 19, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1143, + "current_goal_text": "X15 = supported-attribute (att infer attmap)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X15 := supported-attribute (att infer attmap)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 19, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 20, + "runtime_id": 8, + "step": [ + "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 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 = supported-attribute c0) X16", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att key string" ], + [ + "Assign", + "A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X16 := [X17 | X18]" ] + ] + }, + "siblings": [ + { + "goal_text": "X17 = supported-attribute (att key string)", + "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 = supported-attribute c0) X18", + "goal_id": 1146 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 21, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1145, + "current_goal_text": "X17 = supported-attribute (att key string)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X17 := supported-attribute (att key string)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 21, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 22, + "runtime_id": 8, + "step": [ + "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 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 = supported-attribute c0) X18", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att arg_sort bool" ], + [ + "Assign", + "A1 := [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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X18 := [X19 | X20]" ] + ] + }, + "siblings": [ + { + "goal_text": "X19 = supported-attribute (att arg_sort bool)", + "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 = supported-attribute c0) X20", + "goal_id": 1148 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 23, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1147, + "current_goal_text": "X19 = supported-attribute (att arg_sort bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", "X19 := supported-attribute (att arg_sort bool)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 23, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 24, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1148, + "current_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 = supported-attribute c0) X20", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att log bool" ], + [ + "Assign", + "A1 := [att log.raw bool, att compress_coercions 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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X20 := [X21 | X22]" ] + ] + }, + "siblings": [ + { + "goal_text": "X21 = supported-attribute (att log bool)", + "goal_id": 1149 + }, + { + "goal_text": "std.map\n [att log.raw bool, att compress_coercions 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 = supported-attribute c0) X22", + "goal_id": 1150 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 25, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1149, + "current_goal_text": "X21 = supported-attribute (att log bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X21 := supported-attribute (att log bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 25, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 26, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1150, + "current_goal_text": "std.map\n [att log.raw bool, att compress_coercions 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 = supported-attribute c0) X22", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att log.raw bool" ], + [ + "Assign", + "A1 := [att compress_coercions 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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X22 := [X23 | X24]" ] + ] + }, + "siblings": [ + { + "goal_text": "X23 = supported-attribute (att log.raw bool)", + "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 primitive_class bool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X24", + "goal_id": 1152 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 27, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1151, + "current_goal_text": "X23 = supported-attribute (att log.raw bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X23 := supported-attribute (att log.raw bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 27, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 28, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1152, + "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 string, att primitive_class bool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X24", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att compress_coercions bool" ], + [ + "Assign", + "A1 := [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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X24 := [X25 | X26]" ] + ] + }, + "siblings": [ + { + "goal_text": "X25 = supported-attribute (att compress_coercions 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 primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X26", + "goal_id": 1154 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 29, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1153, + "current_goal_text": "X25 = supported-attribute (att compress_coercions bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X25 := supported-attribute (att compress_coercions bool)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 29, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 30, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1154, + "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 bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X26", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att export bool" ], + [ + "Assign", + "A1 := [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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X26 := [X27 | X28]" ] + ] + }, + "siblings": [ + { + "goal_text": "X27 = supported-attribute (att export bool)", + "goal_id": 1155 + }, + { + "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 = supported-attribute c0) X28", + "goal_id": 1156 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 31, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1155, + "current_goal_text": "X27 = supported-attribute (att export bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X27 := supported-attribute (att export bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 32, + "runtime_id": 8, + "step": [ + "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_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X28", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att skip string" ], + [ + "Assign", + "A1 := [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]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X28 := [X29 | X30]" ] + ] + }, + "siblings": [ + { + "goal_text": "X29 = supported-attribute (att skip string)", + "goal_id": 1157 + }, + { + "goal_text": "std.map\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 = supported-attribute c0) X30", + "goal_id": 1158 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 33, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1157, + "current_goal_text": "X29 = supported-attribute (att skip string)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X29 := supported-attribute (att skip string)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 33, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 34, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1158, + "current_goal_text": "std.map\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 = supported-attribute c0) X30", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att local bool" ], + [ + "Assign", + "A1 := [att fail bool, att doc string, att primitive_class bool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X30 := [X31 | X32]" ] + ] + }, + "siblings": [ + { + "goal_text": "X31 = supported-attribute (att local bool)", + "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, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X32", + "goal_id": 1160 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 35, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1159, + "current_goal_text": "X31 = supported-attribute (att local bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X31 := supported-attribute (att local bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 35, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 36, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1160, + "current_goal_text": "std.map\n [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 = supported-attribute c0) X32", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att fail bool" ], + [ + "Assign", + "A1 := [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X32 := [X33 | X34]" ] + ] + }, + "siblings": [ + { + "goal_text": "X33 = supported-attribute (att fail bool)", + "goal_id": 1161 + }, + { + "goal_text": "std.map\n [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X34", + "goal_id": 1162 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 37, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1161, + "current_goal_text": "X33 = supported-attribute (att fail bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X33 := supported-attribute (att fail bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 37, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 38, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1162, + "current_goal_text": "std.map\n [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X34", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att doc string" ], + [ + "Assign", + "A1 := [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X34 := [X35 | X36]" ] + ] + }, + "siblings": [ + { + "goal_text": "X35 = supported-attribute (att doc string)", + "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 = supported-attribute c0) X36", + "goal_id": 1164 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 39, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1163, + "current_goal_text": "X35 = supported-attribute (att doc string)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X35 := supported-attribute (att doc string)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 39, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 40, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1164, + "current_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 = supported-attribute c0) X36", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att primitive_class bool" ], + [ + "Assign", + "A1 := [att primitive bool, att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X36 := [X37 | X38]" ] + ] + }, + "siblings": [ + { + "goal_text": "X37 = supported-attribute (att primitive_class bool)", + "goal_id": 1165 + }, + { + "goal_text": "std.map\n [att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X38", + "goal_id": 1166 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 41, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1165, + "current_goal_text": "X37 = supported-attribute (att primitive_class bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X37 := supported-attribute (att primitive_class bool)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 41, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 42, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1166, + "current_goal_text": "std.map\n [att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X38", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att primitive bool" ], + [ + "Assign", + "A1 := [att non_forgetful_inheritance bool, att hnf bool]" + ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X38 := [X39 | X40]" ] + ] + }, + "siblings": [ + { + "goal_text": "X39 = supported-attribute (att primitive bool)", + "goal_id": 1167 + }, + { + "goal_text": "std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X40", + "goal_id": 1168 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 43, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1167, + "current_goal_text": "X39 = supported-attribute (att primitive bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", "X39 := supported-attribute (att primitive bool)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 43, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 44, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1168, + "current_goal_text": "std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X40", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att non_forgetful_inheritance bool" ], + [ "Assign", "A1 := [att hnf bool]" ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X40 := [X41 | X42]" ] + ] + }, + "siblings": [ + { + "goal_text": "X41 = supported-attribute (att non_forgetful_inheritance bool)", + "goal_id": 1169 + }, + { + "goal_text": "std.map [att hnf bool] (c0 \\ c1 \\ c1 = supported-attribute c0) X42", + "goal_id": 1170 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 44, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 45, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1169, + "current_goal_text": "X41 = supported-attribute (att non_forgetful_inheritance bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X41 := supported-attribute (att non_forgetful_inheritance bool)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 45, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 44, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 46, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1170, + "current_goal_text": "std.map [att hnf bool] (c0 \\ c1 \\ c1 = supported-attribute c0) X42", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := att hnf bool" ], + [ "Assign", "A1 := []" ], + [ + "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ "Assign", "X42 := [X43 | X44]" ] + ] + }, + "siblings": [ + { + "goal_text": "X43 = supported-attribute (att hnf bool)", + "goal_id": 1171 + }, + { + "goal_text": "std.map [] (c0 \\ c1 \\ c1 = supported-attribute c0) X44", + "goal_id": 1172 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 46, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 44, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 47, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1171, + "current_goal_text": "X43 = supported-attribute (att hnf bool)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X43 := supported-attribute (att hnf bool)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 47, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 46, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 44, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 48, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1172, + "current_goal_text": "std.map [] (c0 \\ c1 \\ c1 = supported-attribute c0) X44", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X44 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 48, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 46, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 44, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 42, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 40, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 38, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 36, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 34, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 32, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 30, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 28, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 26, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 24, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 22, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 20, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 18, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 16, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 14, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 12, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 10, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 8, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 49, + "runtime_id": 8, + "step": [ + "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-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-attribute (att hnf bool)] =>\n parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3", + "goal_id": 1173 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 50, + "runtime_id": 8, + "step": [ + "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_predicate": "parse-attributes.aux", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "events": [ + [ "Assign", "A0 := elpi.loc" ], + [ + "Fail", + "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A5 = 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 (att c0 string) :- !)) =>\n parse-attributes.aux A1 A7), (std.append A6 [get-option A5 A7] A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 637, + "column": 0, + "character": 27263 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := elpi.loc" ], + [ + "Fail", + "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (!), \n (parse-attributes.aux A2 A3 A5), \n (if (A3 = ) (A6 = A0) (A6 is A3 ^ . ^ A0)), \n (parse-attributes.aux A1 A6 A7), (std.append A5 A7 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 641, + "column": 0, + "character": 27574 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := elpi.loc" ], + [ + "Fail", + "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (leaf-str A1) | A2] A3 A4) :- (!), \n (if (A3 = ) (A5 = A0) (A5 is A3 ^ . ^ A0)), \n (coq.valid-str-attribute A5 A1 A6 A7), \n (if (A7 = error A8) (coq.error A8) true), \n (if (A6 = some A9) (A4 = [get-option A5 A9 | A10]) (A4 = A10)), \n (parse-attributes.aux A2 A3 A10).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 646, + "column": 0, + "character": 27781 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := elpi.loc" ], + [ + "Fail", + "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (leaf-str A1) | A2]" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (leaf-loc A1) | A2] A3 A4) :- (!), \n (if (A3 = ) (A5 = A0) (A5 is A3 ^ . ^ A0)), \n (coq.valid-loc-attribute A5 A1 A6), \n (if (A6 = error A7) (coq.error A7) true), (A4 = [get-option A5 A1 | A8]), \n (parse-attributes.aux A2 A3 A8).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 652, + "column": 0, + "character": 28097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A1 := File \"(stdin)\", line 1, column 2, character 3:" + ], + [ "Assign", "A2 := []" ], + [ "Assign", "A3 := " ], + [ "Assign", "A4 := X3" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1174 }, + { + "goal_text": "if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)", + "goal_id": 1175 + }, + { + "goal_text": "coq.valid-loc-attribute X45 File \"(stdin)\", line 1, column 2, character 3: \n X46", + "goal_id": 1176 + }, + { + "goal_text": "if (X46 = error X47) (coq.error X47) true", + "goal_id": 1177 + }, + { + "goal_text": "X3 = [get-option X45 File \"(stdin)\", line 1, column 2, character 3: | X48]", + "goal_id": 1178 + }, + { + "goal_text": "parse-attributes.aux [] X48", + "goal_id": 1179 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 51, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1174, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 52, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1175, + "current_goal_text": "if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := = " ], + [ "Assign", "A1 := X45 = elpi.loc" ] + ] + }, + "siblings": [ + { "goal_text": " = ", "goal_id": 1180 }, + { "goal_text": "!", "goal_id": 1181 }, + { "goal_text": "X45 = elpi.loc", "goal_id": 1182 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 52, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 53, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1180, + "current_goal_text": " = ", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 53, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 52, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 54, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1181, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)", + "goal_id": 1175 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 55, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1182, + "current_goal_text": "X45 = elpi.loc", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X45 := elpi.loc" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 55, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 52, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 56, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1176, + "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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A1 := File \"(stdin)\", line 1, column 2, character 3:" + ], + [ "Assign", "A2 := X46" ] + ] + }, + "siblings": [ + { + "goal_text": "if (supported-attribute (att elpi.loc loc)) \n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))", + "goal_id": 1183 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 57, + "runtime_id": 8, + "step": [ + "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 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := supported-attribute (att elpi.loc loc)" ], + [ + "Assign", + "A1 := if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)" + ] + ] + }, + "siblings": [ + { + "goal_text": "supported-attribute (att elpi.loc loc)", + "goal_id": 1184 + }, + { "goal_text": "!", "goal_id": 1185 }, + { + "goal_text": "if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)", + "goal_id": 1186 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 58, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1184, + "current_goal_text": "supported-attribute (att elpi.loc loc)", + "current_goal_predicate": "supported-attribute", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att verbose bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att verbose bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att mathcomp bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att mathcomp bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att mathcomp.axiom string)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ + "Fail", + "unify att elpi.loc loc with att mathcomp.axiom string" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att short.type string)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att short.type string" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att short.pack string)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att short.pack string" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att infer attmap)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att infer attmap" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att key string)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att key string" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att arg_sort bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att arg_sort bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att log bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att log bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att log.raw bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att log.raw bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att compress_coercions bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ + "Fail", + "unify att elpi.loc loc with att compress_coercions bool" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att export bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att export bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att skip string)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att skip string" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att local bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att local bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att fail bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att fail bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att doc string)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att doc string" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att primitive_class bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ + "Fail", + "unify att elpi.loc loc with att primitive_class bool" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att primitive bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att primitive bool" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att non_forgetful_inheritance bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ + "Fail", + "unify att elpi.loc loc with att non_forgetful_inheritance bool" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att hnf bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "events": [ + [ "Fail", "unify att elpi.loc loc with att hnf bool" ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att elpi.loc loc)) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 573, + "column": 0, + "character": 24545 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(supported-attribute (att verbose bool)) :- .", + "rule_loc": [ "Context", 49 ] + } + ], + "step_id": 58, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 59, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1185, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "supported-attribute (att elpi.loc loc)", + "goal_id": 1184 + }, + "cut_branch": { + "rule_text": "(supported-attribute (att A0 string)) :- (rex_match ^elpi\\. A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 574, + "column": 0, + "character": 24587 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "if (supported-attribute (att elpi.loc loc)) \n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))", + "goal_id": 1183 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 60, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1186, + "current_goal_text": "if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t" + ], + [ "Assign", "A1 := X46 = ok" ] + ] + }, + "siblings": [ + { + "goal_text": "primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t", + "goal_id": 1187 + }, + { "goal_text": "!", "goal_id": 1188 }, + { "goal_text": "X46 = ok", "goal_id": 1189 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 60, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 61, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1187, + "current_goal_text": "primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t", + "current_goal_predicate": "primitive?", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 373, + "column": 0, + "character": 8225 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := File \"(stdin)\", line 1, column 2, character 3:" + ], + [ "Assign", "A1 := Loc.t" ] + ] + }, + "siblings": [ + { + "goal_text": "is_cdata File \"(stdin)\", line 1, column 2, character 3: (ctype Loc.t)", + "goal_id": 1190 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 373, + "column": 0, + "character": 8225 + } + ] + } + ], + "step_id": 61, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 60, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 62, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1190, + "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": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "is_cdata", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "ctype Loc.t = ctype Loc.t", "goal_id": 1191 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "is_cdata", "kind": "FFI", "payload": [] } + ], + "step_id": 62, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 373, + "column": 0, + "character": 8225 + } + ] + } + ], + "step_id": 61, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 60, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 63, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1191, + "current_goal_text": "ctype Loc.t = ctype Loc.t", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 63, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "is_cdata", "kind": "FFI", "payload": [] } + ], + "step_id": 62, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(primitive? A0 A1) :- (is_cdata A0 (ctype A1)).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 373, + "column": 0, + "character": 8225 + } + ] + } + ], + "step_id": 61, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 60, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 64, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1188, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)", + "goal_id": 1186 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 65, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1189, + "current_goal_text": "X46 = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X46 := ok" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 65, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 60, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 57, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3))).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 594, + "column": 0, + "character": 25390 + } + ] + } + ], + "step_id": 56, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 66, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1177, + "current_goal_text": "if (ok = error X47) (coq.error X47) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := ok = error X47" ], + [ "Assign", "A1 := coq.error X47" ] + ] + }, + "siblings": [ + { "goal_text": "ok = error X47", "goal_id": 1192 }, + { "goal_text": "!", "goal_id": 1193 }, + { "goal_text": "coq.error X47", "goal_id": 1194 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 68 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 66, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 67, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1192, + "current_goal_text": "ok = error X47", + "current_goal_predicate": "=", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Fail", "unify ok with error X47" ] ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 67, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 66, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 68, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1177, + "current_goal_text": "if (ok = error X47) (coq.error X47) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1195 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 68, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 69, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1195, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 69, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 68, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 70, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1178, + "current_goal_text": "X3 =\n [get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3: | X48]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X3 := [get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3: | X48]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 70, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 71, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1179, + "current_goal_text": "parse-attributes.aux [] X48", + "current_goal_predicate": "parse-attributes.aux", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 636, + "column": 0, + "character": 27233 + } + ] + } + ], + "events": [ [ "Assign", "X48 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 636, + "column": 0, + "character": 27233 + } + ] + } + ], + "step_id": 71, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", + "rule_loc": [ "Context", 6 ] + } + ], + "step_id": 50, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 49, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 633, + "column": 0, + "character": 27114 + } + ] + } + ], + "step_id": 7, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 72, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1132, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 73, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1127, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 74, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1128, + "current_goal_text": "[get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:] =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", + "goal_id": 1196 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 75, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1196, + "current_goal_text": "save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "save-docstring", "goal_id": 1197 }, + { + "goal_text": "with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", + "goal_id": 1198 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 76, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1197, + "current_goal_text": "save-docstring", + "current_goal_predicate": "save-docstring", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true", + "goal_id": 1199 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 77, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1199, + "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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := get-option elpi.loc X52 , get-option doc X53" + ], + [ "Assign", "A1 := acc-clause _ (docstring X52 X53)" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option elpi.loc X52 , get-option doc X53", + "goal_id": 1200 + }, + { "goal_text": "!", "goal_id": 1201 }, + { + "goal_text": "acc-clause _ (docstring X52 X53)", + "goal_id": 1202 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 81 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 77, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 78, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1200, + "current_goal_text": "get-option elpi.loc X52 , get-option doc X53", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "get-option elpi.loc X52", "goal_id": 1203 }, + { "goal_text": "get-option doc X53", "goal_id": 1204 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 78, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 77, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 79, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1203, + "current_goal_text": "get-option elpi.loc X52", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", + "rule_loc": [ "Context", 74 ] + } + ], + "events": [ + [ + "Assign", + "X52 := File \"(stdin)\", line 1, column 2, character 3:" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", + "rule_loc": [ "Context", 74 ] + } + ], + "step_id": 79, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 78, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 77, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 80, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1204, + "current_goal_text": "get-option doc X53", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 78, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 77, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 81, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1199, + "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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1205 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 81, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 82, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1205, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 82, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 81, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 81, + "column": 0, + "character": 2429 + } + ] + } + ], + "step_id": 76, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 83, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1198, + "current_goal_text": "with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", + "current_goal_predicate": "with-logging", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _" + ] + ] + }, + "siblings": [ + { + "goal_text": "get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff", + "goal_id": 1206 + }, + { "goal_text": "!", "goal_id": 1207 }, + { "goal_text": "get-option elpi.loc X55", "goal_id": 1208 }, + { "goal_text": "loc.fields X55 X56 _ _ _ _", "goal_id": 1209 }, + { "goal_text": "std.any->string X55 X57", "goal_id": 1210 }, + { "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_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 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _", + "goal_id": 1216 + }, + { + "goal_text": "log.private.logger-close X61", + "goal_id": 1217 + }, + { + "goal_text": "std.intersperse coq.pp.spc X61 X62", + "goal_id": 1218 + }, + { + "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 }, + { "goal_text": "output X64 X63", "goal_id": 1221 }, + { "goal_text": "close_out X64", "goal_id": 1222 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 90, 97 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 84, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1206, + "current_goal_text": "get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := get-option elpi.hb.log _ , X54 = tt" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option elpi.hb.log _ , X54 = tt", + "goal_id": 1223 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 87 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 84, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 85, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1223, + "current_goal_text": "get-option elpi.hb.log _ , X54 = tt", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "get-option elpi.hb.log _", "goal_id": 1224 }, + { "goal_text": "X54 = tt", "goal_id": 1225 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 85, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 84, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 86, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1224, + "current_goal_text": "get-option elpi.hb.log _", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 85, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 84, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 87, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1206, + "current_goal_text": "get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := get-option elpi.hb.log.raw _ , X54 = ff" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option elpi.hb.log.raw _ , X54 = ff", + "goal_id": 1226 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "step_id": 87, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 88, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1226, + "current_goal_text": "get-option elpi.hb.log.raw _ , X54 = ff", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "get-option elpi.hb.log.raw _", + "goal_id": 1227 + }, + { "goal_text": "X54 = ff", "goal_id": 1228 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 88, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "step_id": 87, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 89, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1227, + "current_goal_text": "get-option elpi.hb.log.raw _", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 88, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "step_id": 87, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 267, + "column": 0, + "character": 10575 + } + ] + } + ], + "step_id": 83, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 90, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1198, + "current_goal_text": "with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", + "current_goal_predicate": "with-logging", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _" + ] + ] + }, + "siblings": [ + { + "goal_text": "get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff", + "goal_id": 1229 + }, + { "goal_text": "!", "goal_id": 1230 }, + { + "goal_text": "log.private.logger X66 X65 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _", + "goal_id": 1231 + }, + { + "goal_text": "log.private.logger-close X66", + "goal_id": 1232 + }, + { + "goal_text": "std.intersperse coq.pp.spc X66 X67", + "goal_id": 1233 + }, + { + "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 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 97 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 91, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1229, + "current_goal_text": "get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := get-option log tt , X65 = tt" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option log tt , X65 = tt", + "goal_id": 1236 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 94 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 91, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 92, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1236, + "current_goal_text": "get-option log tt , X65 = tt", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "get-option log tt", "goal_id": 1237 }, + { "goal_text": "X65 = tt", "goal_id": 1238 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 92, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 91, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 93, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1237, + "current_goal_text": "get-option log tt", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 92, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 91, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 94, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1229, + "current_goal_text": "get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := get-option log.raw tt , X65 = ff" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option log.raw tt , X65 = ff", + "goal_id": 1239 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "step_id": 94, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 95, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1239, + "current_goal_text": "get-option log.raw tt , X65 = ff", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "get-option log.raw tt", "goal_id": 1240 }, + { "goal_text": "X65 = ff", "goal_id": 1241 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 95, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "step_id": 94, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 96, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1240, + "current_goal_text": "get-option log.raw tt", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 95, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + ], + "step_id": 94, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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", + "line": 283, + "column": 0, + "character": 11151 + } + ] + } + ], + "step_id": 90, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 97, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1198, + "current_goal_text": "with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", + "current_goal_predicate": "with-logging", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _" + ] + ] + }, + "siblings": [ + { + "goal_text": "instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _", + "goal_id": 1242 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 98, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1242, + "current_goal_text": "instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _", + "current_goal_predicate": "instance.declare-const", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := _" ], + [ + "Assign", + "A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]" + ], + [ "Assign", "A2 := arity X1" ] + ] + }, + "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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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": 1243 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 99, + "runtime_id": 8, + "step": [ + "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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped" + ], + [ + "Assign", + "A1 := [coq.arity->term X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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, \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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]" + ] + ] + }, + "siblings": [ + { + "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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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": 1246 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 100, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1244, + "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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.elaborate-arity-skeleton (arity X1) _ X69" + ], + [ "Assign", "A1 := Definition type illtyped" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.elaborate-arity-skeleton (arity X1) _ X69 X92", + "goal_id": 1247 + }, + { "goal_text": "!", "goal_id": 1248 }, + { + "goal_text": "X92 = ok ;\n X92 = error X93 , std.fatal-error-w-data Definition type illtyped X93", + "goal_id": 1249 + }, + { "goal_text": "!", "goal_id": 1250 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 101, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1247, + "current_goal_text": "coq.elaborate-arity-skeleton (arity X1) _ X69 X92", + "current_goal_predicate": "coq.elaborate-arity-skeleton", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X1" ], + [ "Assign", "X69 := arity X94" ], + [ "Assign", "A3 := X92" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.elaborate-ty-skeleton X1 X95 X94 X92", + "goal_id": 1251 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 102, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1251, + "current_goal_text": "coq.elaborate-ty-skeleton X1 X95 X94 X92", + "current_goal_predicate": "coq.elaborate-ty-skeleton", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X95 = typ «interleave_context.403»", + "goal_id": 1252 + }, + { "goal_text": "X94 = X96", "goal_id": 1253 }, + { + "goal_text": "declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)", + "goal_id": 1254 + }, + { "goal_text": "X92 = ok", "goal_id": 1255 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 102, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 103, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1252, + "current_goal_text": "X95 = typ «interleave_context.403»", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X95 := typ «interleave_context.403»" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 103, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 102, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 104, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1253, + "current_goal_text": "X94 = X96", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X94 := X96" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 104, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 102, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 105, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1254, + "current_goal_text": "declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)", + "current_goal_predicate": "declare-evar", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(declare-evar A0 A1 A2 A3) :- (declare_constraint (declare-evar A0 A1 A2 A3) \n [A1]).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 163, + "column": 0, + "character": 6258 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := X97" ], + [ "Assign", "A2 := sort (typ «interleave_context.403»)" ], + [ "Assign", "A3 := X96" ] + ] + }, + "siblings": [ + { + "goal_text": "declare_constraint\n (declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)) [\n X97]", + "goal_id": 1256 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(declare-evar A0 A1 A2 A3) :- (declare_constraint (declare-evar A0 A1 A2 A3) \n [A1]).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 163, + "column": 0, + "character": 6258 + } + ] + } + ], + "step_id": 105, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 102, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 106, + "runtime_id": 8, + "step": [ + "Suspend", + { + "suspend_goal_id": 1256, + "suspend_goal_text": "declare_constraint\n (declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)) [\n X97]", + "suspend_sibling": { + "goal_text": "declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)", + "goal_id": 1257 + }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 106, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(declare-evar A0 A1 A2 A3) :- (declare_constraint (declare-evar A0 A1 A2 A3) \n [A1]).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 163, + "column": 0, + "character": 6258 + } + ] + } + ], + "step_id": 105, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 102, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 107, + "runtime_id": 8, + "step": [ + "CHR", + { + "chr_failed_attempts": [], + "chr_successful_attempts": [ + { + "chr_attempt": { + "chr_text": " \\ (declare-evar A0 A1 A2 A3) <=> (A0 => evar A1 A2 A3)", + "chr_loc": { + "filename": "coq-builtin.elpi", + "line": 178, + "column": 4, + "character": 6801 + }, + "chr_condition_cards": [ + { + "step_id": 0, + "runtime_id": 9, + "step": [ + "Init", { "goal_text": "true", "goal_id": 1259 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 9, + "step": [ + "Inference", + { + "current_goal_id": 1259, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 9 + } + ] + } + ], + "color": "Green" + } + ] + }, + "chr_removed_goals": [ 1257 ], + "chr_new_goals": [] + } + ], + "chr_store_before": [ + { + "goal_text": " declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96) /* suspended on X97 */", + "goal_id": 1257 + } + ], + "chr_store_after": [] + } + ], + "color": "Grey" + }, + { + "step_id": 108, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1260, + "current_goal_text": "_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "[] => evar X97 (sort (typ «interleave_context.403»)) X96", + "goal_id": 1261 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 109, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1261, + "current_goal_text": "[] => evar X97 (sort (typ «interleave_context.403»)) X96", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "evar X97 (sort (typ «interleave_context.403»)) X96", + "goal_id": 1262 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 110, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1262, + "current_goal_text": "evar X97 (sort (typ «interleave_context.403»)) X96", + "current_goal_predicate": "evar", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X97" ], + [ "Assign", "A1 := sort (typ «interleave_context.403»)" ], + [ "Assign", "A2 := X96" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1263 }, + { + "goal_text": "if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true", + "goal_id": 1264 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 111, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1263, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "evar X97 (sort (typ «interleave_context.403»)) X96", + "goal_id": 1262 + }, + "cut_branch": { + "rule_text": "(evar _ _ _) :- .", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 197, + "column": 0, + "character": 7585 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 112, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1264, + "current_goal_text": "if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := var X96" ], + [ + "Assign", + "A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) X96) [X97, X96]" + ] + ] + }, + "siblings": [ + { "goal_text": "var X96", "goal_id": 1265 }, + { "goal_text": "!", "goal_id": 1266 }, + { + "goal_text": "declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]", + "goal_id": 1267 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 113, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1265, + "current_goal_text": "var X96", + "current_goal_predicate": "var", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "var", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "step_id": 113, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 114, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1266, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true", + "goal_id": 1264 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 115, + "runtime_id": 8, + "step": [ + "Suspend", + { + "suspend_goal_id": 1267, + "suspend_goal_text": "declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]", + "suspend_sibling": { + "goal_text": "evar X97 (sort (typ «interleave_context.403»)) X96", + "goal_id": 1268 + }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 115, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 116, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1255, + "current_goal_text": "X92 = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X92 := ok" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 116, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-ty-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 102, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 363, + "column": 0, + "character": 15598 + } + ] + } + ], + "step_id": 101, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 117, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1248, + "cut_victims": [ + { + "cut_branch_for_goal": { + "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 diagnostic returned).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 41, + "column": 0, + "character": 1520 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 118, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1249, + "current_goal_text": "ok = ok ;\n ok = error X93 , std.fatal-error-w-data Definition type illtyped X93", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ [ "Assign", "A0 := ok = ok" ] ] + }, + "siblings": [ { "goal_text": "ok = ok", "goal_id": 1269 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 118, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 119, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1269, + "current_goal_text": "ok = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 119, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 118, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 100, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 120, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1250, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "X92 = ok ;\n X92 = error X93 , std.fatal-error-w-data Definition type illtyped X93", + "goal_id": 1249 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 121, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1245, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 122, + "runtime_id": 8, + "step": [ + "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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := coq.arity->term (arity (X96)) X70" ], + [ + "Assign", + "A1 := [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.arity->term (arity (X96)) X70", + "goal_id": 1270 + }, + { "goal_text": "!", "goal_id": 1271 }, + { + "goal_text": "std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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": 1272 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 123, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1270, + "current_goal_text": "coq.arity->term (arity (X96)) X70", + "current_goal_predicate": "coq.arity->term", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.arity->term (arity A0) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 371, + "column": 0, + "character": 15907 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X96" ], [ "Assign", "X70 := X96" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.arity->term (arity A0) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 371, + "column": 0, + "character": 15907 + } + ] + } + ], + "step_id": 123, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 124, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1271, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 125, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1272, + "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped" + ], + [ + "Assign", + "A1 := [if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), 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) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 126, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1273, + "current_goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped", + "current_goal_predicate": "std.assert-ok!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71" + ], + [ "Assign", "A1 := Definition illtyped" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98", + "goal_id": 1276 + }, + { "goal_text": "!", "goal_id": 1277 }, + { + "goal_text": "X98 = ok ; X98 = error X99 , std.fatal-error-w-data Definition illtyped X99", + "goal_id": 1278 + }, + { "goal_text": "!", "goal_id": 1279 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 127, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1276, + "current_goal_text": "coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98", + "current_goal_predicate": "coq.elaborate-skeleton", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X96 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]", + "goal_id": 1280 + }, + { + "goal_text": "X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", + "goal_id": 1281 + }, + { "goal_text": "X98 = ok", "goal_id": 1282 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 127, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 128, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1280, + "current_goal_text": "X96 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X96 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" + ], + [ "ResumeGoal", [ 1268 ] ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 128, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 127, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 129, + "runtime_id": 8, + "step": [ + "Resume", + [ + { + "goal_text": "evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "goal_id": 1268 + } + ] + ], + "color": "Grey" + }, + { + "step_id": 130, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1268, + "current_goal_text": "evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "current_goal_predicate": "evar", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X97" ], + [ "Assign", "A1 := sort (typ «interleave_context.403»)" ], + [ + "Assign", + "A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" + ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1283 }, + { + "goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true", + "goal_id": 1284 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 130, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 129, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 115, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 131, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1283, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "evar X97 (sort (typ «interleave_context.403»)) X96", + "goal_id": 1268 + }, + "cut_branch": { + "rule_text": "(evar _ _ _) :- .", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 197, + "column": 0, + "character": 7585 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 132, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1284, + "current_goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])" + ], + [ + "Assign", + "A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "goal_id": 1285 + }, + { "goal_text": "!", "goal_id": 1286 }, + { + "goal_text": "declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]", + "goal_id": 1287 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 134 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 132, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 130, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 129, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 115, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 133, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1285, + "current_goal_text": "var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "current_goal_predicate": "var", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "step_id": 133, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 132, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 130, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 129, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 115, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 134, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1284, + "current_goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1288 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 134, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 130, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 129, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 115, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 135, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1288, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 135, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 134, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 130, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 129, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 115, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 112, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 193, + "column": 0, + "character": 7432 + } + ] + } + ], + "step_id": 110, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 109, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 108, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 136, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1281, + "current_goal_text": "X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X71 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 136, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 127, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 137, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1282, + "current_goal_text": "X98 = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X98 := ok" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 137, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "coq.elaborate-skeleton", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 127, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 138, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1277, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), 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 diagnostic returned).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 41, + "column": 0, + "character": 1520 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 139, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1278, + "current_goal_text": "ok = ok ; ok = error X99 , std.fatal-error-w-data Definition illtyped X99", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ [ "Assign", "A0 := ok = ok" ] ] + }, + "siblings": [ { "goal_text": "ok = ok", "goal_id": 1289 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 139, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 140, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1289, + "current_goal_text": "ok = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 140, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 139, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 126, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 141, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1279, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "X98 = ok ; X98 = error X99 , std.fatal-error-w-data Definition illtyped X99", + "goal_id": 1278 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 142, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1274, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 143, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1275, + "current_goal_text": "std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) 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 instance.private.hack-section-discharging X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (log.coq.env.begin-section X76) \n (instance.private.postulate-arity\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), \n global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]) X73 X72))" + ], + [ + "Assign", + "A1 := [std.assert! (coq.safe-dest-app X72 (global X77) X78) \n 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) 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 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 144, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1290, + "current_goal_text": "if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n = arity X72" + ], + [ + "Assign", + "A1 := if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [ + { + "goal_text": "arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72", + "goal_id": 1293 + }, + { "goal_text": "!", "goal_id": 1294 }, + { + "goal_text": "if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", + "goal_id": 1295 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 145, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1293, + "current_goal_text": "arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X72 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 145, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 146, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1294, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))", + "goal_id": 1290 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 147, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1295, + "current_goal_text": "if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "if-verbose (coq.say HB: skipping section opening)", + "goal_id": 1296 + }, + { + "goal_text": "X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", + "goal_id": 1297 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 147, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 148, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1296, + "current_goal_text": "if-verbose (coq.say HB: skipping section opening)", + "current_goal_predicate": "if-verbose", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if-verbose A0) :- (get-option verbose tt), (!), A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 51, + "column": 0, + "character": 1529 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := coq.say HB: skipping section opening" ] + ] + }, + "siblings": [ + { "goal_text": "get-option verbose tt", "goal_id": 1298 }, + { "goal_text": "!", "goal_id": 1299 }, + { + "goal_text": "coq.say HB: skipping section opening", + "goal_id": 1300 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 150 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if-verbose A0) :- (get-option verbose tt), (!), A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 51, + "column": 0, + "character": 1529 + } + ] + } + ], + "step_id": 148, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 147, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 149, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1298, + "current_goal_text": "get-option verbose tt", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if-verbose A0) :- (get-option verbose tt), (!), A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 51, + "column": 0, + "character": 1529 + } + ] + } + ], + "step_id": 148, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 147, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 150, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1296, + "current_goal_text": "if-verbose (coq.say HB: skipping section opening)", + "current_goal_predicate": "if-verbose", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if-verbose _) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 52, + "column": 0, + "character": 1576 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if-verbose _) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 52, + "column": 0, + "character": 1576 + } + ] + } + ], + "step_id": 150, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 147, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 151, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1297, + "current_goal_text": "X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X73 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 151, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 147, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 144, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 152, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1291, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 153, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1292, + "current_goal_text": "std.do!\n [std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory" + ], + [ + "Assign", + "A1 := [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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = 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\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1303 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 154, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1301, + "current_goal_text": "std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory", + "current_goal_predicate": "std.assert!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78" + ], + [ + "Assign", "A1 := The type of the instance is not a factory" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)", + "goal_id": 1304 + }, + { "goal_text": "!", "goal_id": 1305 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 154, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 155, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1304, + "current_goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78", + "goal_id": 1306 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 155, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 154, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 156, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1306, + "current_goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78", + "current_goal_predicate": "coq.safe-dest-app", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], + [ "Assign", "A1 := [global (indt «nat»)]" ], + [ "Assign", "A2 := global X77" ], + [ "Assign", "A3 := X78" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1307 }, + { + "goal_text": "coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100", + "goal_id": 1308 + }, + { + "goal_text": "std.append X100 [global (indt «nat»)] X78", + "goal_id": 1309 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "step_id": 156, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 155, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 154, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 157, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1307, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78", + "goal_id": 1306 + }, + "cut_branch": { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 158, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1308, + "current_goal_text": "coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100", + "current_goal_predicate": "coq.safe-dest-app", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], + [ "Assign", "X77 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "X100 := []" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + ], + "step_id": 158, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "step_id": 156, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 155, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 154, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 159, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1309, + "current_goal_text": "std.append [] [global (indt «nat»)] X78", + "current_goal_predicate": "std.append", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 81, + "column": 0, + "character": 2754 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := [global (indt «nat»)]" ], + [ "Assign", "X78 := [global (indt «nat»)]" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 81, + "column": 0, + "character": 2754 + } + ] + } + ], + "step_id": 159, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "step_id": 156, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 155, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 154, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 160, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1305, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)", + "goal_id": 1304 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 161, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1302, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 162, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1303, + "current_goal_text": "std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») 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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := factory-alias->gref (indt «IsSelfA'.axioms_») X79" + ], + [ + "Assign", + "A1 := [std.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, \n instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») 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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1312 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 163, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1310, + "current_goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X79", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := X79" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev X79 (indt «IsSelfA'.axioms_») _", + "goal_id": 1313 + }, + { "goal_text": "!", "goal_id": 1314 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 165 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 163, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 164, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1313, + "current_goal_text": "phant-abbrev X79 (indt «IsSelfA'.axioms_») _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indt «HasA.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indc «HasA.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indt «HasB.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indc «HasB.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indt «IsSelfA.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indc «IsSelfA.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indt «IsSelfA'.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X79 := indc «IsSelfA'.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»" + ] + ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 164, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 163, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 165, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1310, + "current_goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X79", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "X79 := indt «IsSelfA'.axioms_»" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev (indt «IsSelfA'.axioms_») _ _", + "goal_id": 1315 + }, + { "goal_text": "!", "goal_id": 1316 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 165, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 166, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1315, + "current_goal_text": "phant-abbrev (indt «IsSelfA'.axioms_») _ _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 166, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 165, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 167, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1316, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X79", + "goal_id": 1310 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X79", + "goal_id": 1310 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X79", + "goal_id": 1310 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 168, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1311, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 169, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1312, + "current_goal_text": "std.do!\n [std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB, \n instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB" + ], + [ + "Assign", + "A1 := [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert! (factory-nparams (indt «IsSelfA'.axioms_») 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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1319 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 170, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1317, + "current_goal_text": "std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB", + "current_goal_predicate": "std.assert!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := factory-nparams (indt «IsSelfA'.axioms_») X80" + ], + [ "Assign", "A1 := Not a factory synthesized by HB" ] + ] + }, + "siblings": [ + { + "goal_text": "factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)", + "goal_id": 1320 + }, + { "goal_text": "!", "goal_id": 1321 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 170, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 171, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1320, + "current_goal_text": "factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := factory-nparams (indt «IsSelfA'.axioms_») X80" + ] + ] + }, + "siblings": [ + { + "goal_text": "factory-nparams (indt «IsSelfA'.axioms_») X80", + "goal_id": 1322 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 171, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 170, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 172, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1322, + "current_goal_text": "factory-nparams (indt «IsSelfA'.axioms_») X80", + "current_goal_predicate": "factory-nparams", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasA.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «A.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", "unify indt «IsSelfA'.axioms_» with indt «A.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasB.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «B.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", "unify indt «IsSelfA'.axioms_» with indt «B.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «IsSelfA.axioms_») 0) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «SelfA.axioms_») 0) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «IsSelfA'.axioms_») 0) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ [ "Assign", "X80 := 0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasA.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 172, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 171, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 170, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 173, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1321, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)", + "goal_id": 1320 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 174, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1318, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 175, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1319, + "current_goal_text": "std.do!\n [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81" + ], + [ + "Assign", + "A1 := [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81", + "goal_id": 1323 + }, + { "goal_text": "!", "goal_id": 1324 }, + { + "goal_text": "std.do!\n [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1325 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 176, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1323, + "current_goal_text": "instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81", + "current_goal_predicate": "instance.private.hack-section-discharging", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A0) :- (current-mode no-builder), \n (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 300, + "column": 0, + "character": 12925 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ + "Assign", + "X81 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [ + { "goal_text": "current-mode no-builder", "goal_id": 1326 }, + { "goal_text": "!", "goal_id": 1327 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 178, 180 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A0) :- (current-mode no-builder), \n (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 300, + "column": 0, + "character": 12925 + } + ] + } + ], + "step_id": 176, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 177, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1326, + "current_goal_text": "current-mode no-builder", + "current_goal_predicate": "current-mode", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A0) :- (current-mode no-builder), \n (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 300, + "column": 0, + "character": 12925 + } + ] + } + ], + "step_id": 176, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 178, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1323, + "current_goal_text": "instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81", + "current_goal_predicate": "instance.private.hack-section-discharging", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A1) :- (current-mode\n (builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory is illtyped (BUG)), \n (A1 = let `_` A3 A2 (c0 \\ A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 301, + "column": 0, + "character": 12985 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A1 := X81" ] + ] + }, + "siblings": [ + { + "goal_text": "current-mode (builder-from _ X101 _ _)", + "goal_id": 1328 + }, + { "goal_text": "!", "goal_id": 1329 }, + { + "goal_text": "std.assert-ok! (coq.typecheck X101 X102) TheFactory is illtyped (BUG)", + "goal_id": 1330 + }, + { + "goal_text": "X81 =\n let `_` X102 X101 c0 \\\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c1 \\ c1]", + "goal_id": 1331 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 180 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A1) :- (current-mode\n (builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory is illtyped (BUG)), \n (A1 = let `_` A3 A2 (c0 \\ A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 301, + "column": 0, + "character": 12985 + } + ] + } + ], + "step_id": 178, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 179, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1328, + "current_goal_text": "current-mode (builder-from _ X101 _ _)", + "current_goal_predicate": "current-mode", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A1) :- (current-mode\n (builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory is illtyped (BUG)), \n (A1 = let `_` A3 A2 (c0 \\ A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 301, + "column": 0, + "character": 12985 + } + ] + } + ], + "step_id": 178, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 180, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1323, + "current_goal_text": "instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81", + "current_goal_predicate": "instance.private.hack-section-discharging", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 304, + "column": 0, + "character": 13219 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ + "Assign", + "X81 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.hack-section-discharging A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 304, + "column": 0, + "character": 13219 + } + ] + } + ], + "step_id": 180, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 181, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1324, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 182, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1325, + "current_goal_text": "std.do!\n [instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82" + ], + [ + "Assign", + "A1 := [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82", + "goal_id": 1332 + }, + { "goal_text": "!", "goal_id": 1333 }, + { + "goal_text": "std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 183, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1332, + "current_goal_text": "instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82", + "current_goal_predicate": "instance.private.optimize-body", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := «IsSelfA'.phant_Build»" ], + [ + "Assign", + "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A2 := X82" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103", + "goal_id": 1335 + }, + { "goal_text": "!", "goal_id": 1336 }, + { + "goal_text": "coq.env.const «IsSelfA'.phant_Build» (some X104) _", + "goal_id": 1337 + }, + { + "goal_text": "hd-beta X104 \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "goal_id": 1338 + }, + { "goal_text": "unwind X105 X106 X82", "goal_id": 1339 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 184, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1335, + "current_goal_text": "phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := phant-abbrev _ (const «IsSelfA'.phant_Build») _" + ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev _ (const «IsSelfA'.phant_Build») _", + "goal_id": 1340 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 184, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 185, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1340, + "current_goal_text": "phant-abbrev _ (const «IsSelfA'.phant_Build») _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «HasA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «HasA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «HasB.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «HasB.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «IsSelfA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «IsSelfA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify const «IsSelfA'.phant_Build» with const «IsSelfA'.phant_axioms»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 185, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 184, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 186, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1336, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103", + "goal_id": 1335 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82", + "goal_id": 1332 + }, + "cut_branch": { + "rule_text": "(instance.private.optimize-body A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 314, + "column": 0, + "character": 13706 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 187, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1337, + "current_goal_text": "coq.env.const «IsSelfA'.phant_Build» (some X104) _", + "current_goal_predicate": "coq.env.const", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.env.const", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "some X104 =\n some\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2])", + "goal_id": 1341 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.env.const", "kind": "FFI", "payload": [] } + ], + "step_id": 187, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 188, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1341, + "current_goal_text": "some X104 =\n some\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2])", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X104 := fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 188, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.env.const", "kind": "FFI", "payload": [] } + ], + "step_id": 187, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 189, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1338, + "current_goal_text": "hd-beta\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "current_goal_predicate": "hd-beta", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := c0 \\\nfun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]" + ], + [ "Assign", "A1 := global (indt «nat»)" ], + [ + "Assign", + "A2 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A3 := X105" ], + [ "Assign", "A4 := X106" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1342 }, + { + "goal_text": "hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "goal_id": 1343 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 190, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1342, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "hd-beta X104 \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "goal_id": 1338 + }, + "cut_branch": { + "rule_text": "(hd-beta A0 A1 A0 A1) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 94, + "column": 0, + "character": 3551 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 191, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1343, + "current_goal_text": "hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "current_goal_predicate": "hd-beta", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := c0 \\\nfun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]" + ], + [ "Assign", "A1 := global (indc «O»)" ], + [ + "Assign", "A2 := [fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A3 := X105" ], + [ "Assign", "A4 := X106" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1344 }, + { + "goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106", + "goal_id": 1345 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 192, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1344, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "goal_id": 1343 + }, + "cut_branch": { + "rule_text": "(hd-beta A0 A1 A0 A1) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 94, + "column": 0, + "character": 3551 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 193, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1345, + "current_goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106", + "current_goal_predicate": "hd-beta", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := c0 \\\napp\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]" + ], + [ "Assign", "A1 := fun `x` (global (indt «nat»)) c0 \\ c0" ], + [ "Assign", "A2 := []" ], + [ "Assign", "A3 := X105" ], + [ "Assign", "A4 := X106" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1346 }, + { + "goal_text": "hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106", + "goal_id": 1347 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 194, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1346, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106", + "goal_id": 1345 + }, + "cut_branch": { + "rule_text": "(hd-beta A0 A1 A0 A1) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 94, + "column": 0, + "character": 3551 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 195, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1347, + "current_goal_text": "hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106", + "current_goal_predicate": "hd-beta", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A2 := []" ], + [ "Assign", "A3 := X105" ], + [ "Assign", "A4 := X106" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1348 }, + { + "goal_text": "std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107", + "goal_id": 1349 + }, + { + "goal_text": "hd-beta (global (indc «IsSelfA'.Axioms_»)) X107 X105 X106", + "goal_id": 1350 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "step_id": 195, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 196, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1348, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106", + "goal_id": 1347 + }, + "cut_branch": { + "rule_text": "(hd-beta A0 A1 A0 A1) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 94, + "column": 0, + "character": 3551 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 197, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1349, + "current_goal_text": "std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107", + "current_goal_predicate": "std.append", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «nat»)" ], + [ + "Assign", + "A1 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A2 := []" ], + [ "Assign", "X107 := [global (indt «nat») | X108]" ] + ] + }, + "siblings": [ + { + "goal_text": "std.append [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] [] \n X108", + "goal_id": 1351 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 197, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "step_id": 195, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 198, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1351, + "current_goal_text": "std.append [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] [] \n X108", + "current_goal_predicate": "std.append", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indc «O»)" ], + [ + "Assign", "A1 := [fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A2 := []" ], + [ "Assign", "X108 := [global (indc «O») | X109]" ] + ] + }, + "siblings": [ + { + "goal_text": "std.append [fun `x` (global (indt «nat»)) c0 \\ c0] [] X109", + "goal_id": 1352 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 198, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 197, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "step_id": 195, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 199, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1352, + "current_goal_text": "std.append [fun `x` (global (indt «nat»)) c0 \\ c0] [] X109", + "current_goal_predicate": "std.append", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := fun `x` (global (indt «nat»)) c0 \\ c0" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := []" ], + [ + "Assign", + "X109 := [fun `x` (global (indt «nat»)) c0 \\ c0 | X110]" + ] + ] + }, + "siblings": [ + { "goal_text": "std.append [] [] X110", "goal_id": 1353 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 199, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 198, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 197, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "step_id": 195, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 200, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1353, + "current_goal_text": "std.append [] [] X110", + "current_goal_predicate": "std.append", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 81, + "column": 0, + "character": 2754 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], [ "Assign", "X110 := []" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 81, + "column": 0, + "character": 2754 + } + ] + } + ], + "step_id": 200, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 199, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 198, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 80, + "column": 0, + "character": 2711 + } + ] + } + ], + "step_id": 197, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "step_id": 195, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 201, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1350, + "current_goal_text": "hd-beta (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", + "current_goal_predicate": "hd-beta", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta A0 A1 A0 A1) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 94, + "column": 0, + "character": 3551 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "X105 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "X106 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta A0 A1 A0 A1) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 94, + "column": 0, + "character": 3551 + } + ] + } + ], + "step_id": 201, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 92, + "column": 0, + "character": 3424 + } + ] + } + ], + "step_id": 195, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 193, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 191, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 93, + "column": 0, + "character": 3492 + } + ] + } + ], + "step_id": 189, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 202, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1339, + "current_goal_text": "unwind (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82", + "current_goal_predicate": "unwind", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 22, + "column": 0, + "character": 758 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ "Assign", "A2 := X82" ] + ] + }, + "siblings": [ + { + "goal_text": "if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)", + "goal_id": 1354 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 22, + "column": 0, + "character": 758 + } + ] + } + ], + "step_id": 202, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 203, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1354, + "current_goal_text": "if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := var (global (indc «IsSelfA'.Axioms_»))" ], + [ + "Assign", + "A1 := coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82" + ] + ] + }, + "siblings": [ + { + "goal_text": "var (global (indc «IsSelfA'.Axioms_»))", + "goal_id": 1355 + }, + { "goal_text": "!", "goal_id": 1356 }, + { + "goal_text": "coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82", + "goal_id": 1357 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 205 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 203, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 22, + "column": 0, + "character": 758 + } + ] + } + ], + "step_id": 202, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 204, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1355, + "current_goal_text": "var (global (indc «IsSelfA'.Axioms_»))", + "current_goal_predicate": "var", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "step_id": 204, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 203, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 22, + "column": 0, + "character": 758 + } + ] + } + ], + "step_id": 202, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 205, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1354, + "current_goal_text": "if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82", + "goal_id": 1358 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 205, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 22, + "column": 0, + "character": 758 + } + ] + } + ], + "step_id": 202, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 206, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1358, + "current_goal_text": "coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82", + "current_goal_predicate": "coq.mk-app", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.mk-app A0 [] A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 77, + "column": 0, + "character": 2958 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Fail", + "match\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] with []" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.mk-app A0 A1 (app [A0 | A1])) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 81, + "column": 0, + "character": 3175 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ + "Assign", + "X82 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.mk-app A0 [] A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 77, + "column": 0, + "character": 2958 + } + ] + } + ], + "step_id": 206, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 205, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/elpi-reduction.elpi", + "line": 22, + "column": 0, + "character": 758 + } + ] + } + ], + "step_id": 202, + "runtime_id": 8 + }, + { + "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-beta A3 A1 A4 A5), (unwind A4 A5 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 309, + "column": 0, + "character": 13433 + } + ] + } + ], + "step_id": 183, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 207, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1333, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 208, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1334, + "current_goal_text": "std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)" + ], + [ + "Assign", + "A1 := [log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)", + "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 «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1361 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 209, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1359, + "current_goal_text": "if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := _ = _" ], + [ + "Assign", + "A1 := , (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)" + ] + ] + }, + "siblings": [ + { "goal_text": "_ = _", "goal_id": 1362 }, + { "goal_text": "!", "goal_id": 1363 }, + { + "goal_text": ", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)", + "goal_id": 1364 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 210, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1362, + "current_goal_text": "_ = _", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 210, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 211, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1363, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)", + "goal_id": 1359 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 212, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1364, + "current_goal_text": ", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "new_int X83", "goal_id": 1365 }, + { "goal_text": "std.any->string X83 X84", "goal_id": 1366 }, + { + "goal_text": "X85 is HB_unnamed_factory_ ^ X84", + "goal_id": 1367 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 213, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1365, + "current_goal_text": "new_int X83", + "current_goal_predicate": "new_int", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "new_int", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "X83 = 27", "goal_id": 1368 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "new_int", "kind": "FFI", "payload": [] } + ], + "step_id": 213, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 214, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1368, + "current_goal_text": "X83 = 27", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X83 := 27" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 214, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "new_int", "kind": "FFI", "payload": [] } + ], + "step_id": 213, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 215, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1366, + "current_goal_text": "std.any->string 27 X84", + "current_goal_predicate": "std.any->string", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.any->string A0 A1) :- (term_to_string A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 275, + "column": 0, + "character": 9167 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := 27" ], [ "Assign", "A1 := X84" ] + ] + }, + "siblings": [ + { "goal_text": "term_to_string 27 X84", "goal_id": 1369 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.any->string A0 A1) :- (term_to_string A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 275, + "column": 0, + "character": 9167 + } + ] + } + ], + "step_id": 215, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 216, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1369, + "current_goal_text": "term_to_string 27 X84", + "current_goal_predicate": "term_to_string", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "term_to_string", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "X84 = 27", "goal_id": 1370 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "term_to_string", "kind": "FFI", "payload": [] } + ], + "step_id": 216, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.any->string A0 A1) :- (term_to_string A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 275, + "column": 0, + "character": 9167 + } + ] + } + ], + "step_id": 215, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 217, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1370, + "current_goal_text": "X84 = 27", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X84 := 27" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 217, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "term_to_string", "kind": "FFI", "payload": [] } + ], + "step_id": 216, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.any->string A0 A1) :- (term_to_string A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 275, + "column": 0, + "character": 9167 + } + ] + } + ], + "step_id": 215, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 218, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1367, + "current_goal_text": "X85 is HB_unnamed_factory_ ^ 27", + "current_goal_predicate": "is", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 is A1) :- (calc A1 A0).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 77, + "column": 0, + "character": 1165 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X85" ], + [ "Assign", "A1 := HB_unnamed_factory_ ^ 27" ] + ] + }, + "siblings": [ + { + "goal_text": "calc (HB_unnamed_factory_ ^ 27) X85", + "goal_id": 1371 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 is A1) :- (calc A1 A0).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 77, + "column": 0, + "character": 1165 + } + ] + } + ], + "step_id": 218, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 219, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1371, + "current_goal_text": "calc (HB_unnamed_factory_ ^ 27) X85", + "current_goal_predicate": "calc", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "calc", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "X85 = HB_unnamed_factory_27", "goal_id": 1372 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + ], + "step_id": 219, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 is A1) :- (calc A1 A0).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 77, + "column": 0, + "character": 1165 + } + ] + } + ], + "step_id": 218, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 220, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1372, + "current_goal_text": "X85 = HB_unnamed_factory_27", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X85 := HB_unnamed_factory_27" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 220, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + ], + "step_id": 219, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 is A1) :- (calc A1 A0).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 77, + "column": 0, + "character": 1165 + } + ] + } + ], + "step_id": 218, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 212, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 209, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 221, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1360, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 222, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1361, + "current_goal_text": "std.do!\n [log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86" + ], + [ + "Assign", + "A1 := [X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86", + "goal_id": 1373 + }, + { "goal_text": "!", "goal_id": 1374 }, + { + "goal_text": "std.do!\n [X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1375 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 223, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1373, + "current_goal_text": "log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86", + "current_goal_predicate": "log.coq.env.add-const-noimplicits-failondup", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := HB_unnamed_factory_27" ], + [ + "Assign", + "A1 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ + "Assign", + "A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" + ], + [ "Assign", "A3 := ff" ], + [ "Assign", "A4 := X86" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", + "goal_id": 1376 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 224, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1376, + "current_goal_text": "std.do!\n [if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n X112) \n (coq.error HB: cannot infer some information in \n HB_unnamed_factory_27 : X111 := X112)) true" + ], + [ + "Assign", + "A1 := [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, log.coq.env.add-location (const X86), \n if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := 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 «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", + "goal_id": 1379 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 225, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1377, + "current_goal_text": "if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))" + ], + [ + "Assign", + "A1 := ,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 \n : X111 := X112)" + ] + ] + }, + "siblings": [ + { + "goal_text": "not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", + "goal_id": 1380 + }, + { "goal_text": "!", "goal_id": 1381 }, + { + "goal_text": ",\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)", + "goal_id": 1382 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 231 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 225, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 226, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1380, + "current_goal_text": "not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])" + ] + ] + }, + "siblings": [ + { + "goal_text": "ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])", + "goal_id": 1383 + }, + { "goal_text": "!", "goal_id": 1384 }, + { "goal_text": "fail", "goal_id": 1385 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 226, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 225, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 227, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1383, + "current_goal_text": "ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])" + ] + ] + }, + "siblings": [ + { + "goal_text": "ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "goal_id": 1386 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 227, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 226, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 225, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 228, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1386, + "current_goal_text": "ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "current_goal_predicate": "ground_term", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "ground_term", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "ground_term", "kind": "FFI", "payload": [] } + ], + "step_id": 228, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 227, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 226, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 225, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 229, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1384, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])", + "goal_id": 1383 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", + "goal_id": 1380 + }, + "cut_branch": { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 54, + "column": 0, + "character": 631 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 230, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1385, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 226, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 225, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 231, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1377, + "current_goal_text": "if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1387 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 231, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 232, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1387, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 232, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 231, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 233, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1378, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 234, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1379, + "current_goal_text": "std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86" + ], + [ + "Assign", + "A1 := [log.coq.env.add-location (const X86), \n if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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 «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", + "goal_id": 1390 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 235, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1388, + "current_goal_text": "coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86", + "current_goal_predicate": "coq.env.add-const", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.env.add-const", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X86 = «HB_unnamed_factory_27»", + "goal_id": 1391 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.env.add-const", "kind": "FFI", "payload": [] } + ], + "step_id": 235, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 236, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1391, + "current_goal_text": "X86 = «HB_unnamed_factory_27»", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X86 := «HB_unnamed_factory_27»" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 236, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.env.add-const", "kind": "FFI", "payload": [] } + ], + "step_id": 235, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 237, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1389, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 238, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1390, + "current_goal_text": "std.do!\n [log.coq.env.add-location (const «HB_unnamed_factory_27»), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := log.coq.env.add-location (const «HB_unnamed_factory_27»)" + ], + [ + "Assign", + "A1 := [if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "log.coq.env.add-location (const «HB_unnamed_factory_27»)", + "goal_id": 1392 + }, + { "goal_text": "!", "goal_id": 1393 }, + { + "goal_text": "std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "goal_id": 1394 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 239, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1392, + "current_goal_text": "log.coq.env.add-location (const «HB_unnamed_factory_27»)", + "current_goal_predicate": "log.coq.env.add-location", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 21, + "column": 0, + "character": 831 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := const «HB_unnamed_factory_27»" ] + ] + }, + "siblings": [ + { + "goal_text": "if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true", + "goal_id": 1395 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 21, + "column": 0, + "character": 831 + } + ] + } + ], + "step_id": 239, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 240, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1395, + "current_goal_text": "if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := get-option elpi.loc X114" ], + [ + "Assign", + "A1 := acc-clause library \n (decl-location (const «HB_unnamed_factory_27») X114)" + ] + ] + }, + "siblings": [ + { "goal_text": "get-option elpi.loc X114", "goal_id": 1396 }, + { "goal_text": "!", "goal_id": 1397 }, + { + "goal_text": "acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)", + "goal_id": 1398 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 240, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 21, + "column": 0, + "character": 831 + } + ] + } + ], + "step_id": 239, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 241, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1396, + "current_goal_text": "get-option elpi.loc X114", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", + "rule_loc": [ "Context", 74 ] + } + ], + "events": [ + [ + "Assign", + "X114 := File \"(stdin)\", line 1, column 2, character 3:" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", + "rule_loc": [ "Context", 74 ] + } + ], + "step_id": 241, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 240, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 21, + "column": 0, + "character": 831 + } + ] + } + ], + "step_id": 239, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 242, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1397, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true", + "goal_id": 1395 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 243, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1398, + "current_goal_text": "acc-clause library \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:)", + "current_goal_predicate": "acc-clause", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "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", + "line": 75, + "column": 0, + "character": 2237 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := library" ], + [ + "Assign", + "A1 := decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:))", + "goal_id": 1399 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "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", + "line": 75, + "column": 0, + "character": 2237 + } + ] + } + ], + "step_id": 243, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 240, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 21, + "column": 0, + "character": 831 + } + ] + } + ], + "step_id": 239, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 244, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1399, + "current_goal_text": "coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:))", + "current_goal_predicate": "coq.elpi.accumulate", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "coq.elpi.accumulate", + "kind": "FFI", + "payload": [] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.elpi.accumulate", "kind": "FFI", "payload": [] } + ], + "step_id": 244, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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", + "line": 75, + "column": 0, + "character": 2237 + } + ] + } + ], + "step_id": 243, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 240, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 21, + "column": 0, + "character": 831 + } + ] + } + ], + "step_id": 239, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 245, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1393, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 246, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1394, + "current_goal_text": "std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if\n (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))" + ], + [ + "Assign", + "A1 := [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))", + "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 (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "goal_id": 1402 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 247, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1400, + "current_goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])" + ], + [ "Assign", "A1 := X113 = none" ] + ] + }, + "siblings": [ + { + "goal_text": "var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "goal_id": 1403 + }, + { "goal_text": "!", "goal_id": 1404 }, + { "goal_text": "X113 = none", "goal_id": 1405 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 249 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 247, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 248, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1403, + "current_goal_text": "var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "current_goal_predicate": "var", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + ], + "step_id": 248, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 247, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 249, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1400, + "current_goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])" + ] + ] + }, + "siblings": [ + { + "goal_text": "X113 = some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "goal_id": 1406 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 249, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 250, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1406, + "current_goal_text": "X113 = some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X113 := some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 250, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 249, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 251, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1401, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 252, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1402, + "current_goal_text": "std.do!\n [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))" + ], + [ + "Assign", + "A1 := [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", + "goal_id": 1407 + }, + { "goal_text": "!", "goal_id": 1408 }, + { + "goal_text": "std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "goal_id": 1409 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 253, + "runtime_id": 8, + "step": [ + "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 «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", + "current_goal_predicate": "log.private.log-vernac", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => 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/log.elpi", + "line": 291, + "column": 0, + "character": 11441 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])" + ] + ] + }, + "siblings": [ + { + "goal_text": "log.private.logger X115 X116", + "goal_id": 1410 + }, + { "goal_text": "!", "goal_id": 1411 }, + { + "goal_text": "if (X116 = tt) (X117 = []) (X117 = [get-option coq:pp all])", + "goal_id": 1412 + }, + { + "goal_text": "X117 =>\n log.private.coq.vernac->pp\n [log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])] X118", + "goal_id": 1413 + }, + { + "goal_text": "log.private.logger-extend X115 X118", + "goal_id": 1414 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 255 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => 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/log.elpi", + "line": 291, + "column": 0, + "character": 11441 + } + ] + } + ], + "step_id": 253, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 254, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1410, + "current_goal_text": "log.private.logger X115 X116", + "current_goal_predicate": "log.private.logger", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => 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/log.elpi", + "line": 291, + "column": 0, + "character": 11441 + } + ] + } + ], + "step_id": 253, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 255, + "runtime_id": 8, + "step": [ + "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 «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", + "current_goal_predicate": "log.private.log-vernac", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac _) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 294, + "column": 0, + "character": 11623 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac _) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 294, + "column": 0, + "character": 11623 + } + ] + } + ], + "step_id": 255, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 256, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1408, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 257, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1409, + "current_goal_text": "std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", + "goal_id": 1415 + }, + { "goal_text": "!", "goal_id": 1416 }, + { "goal_text": "std.do! []", "goal_id": 1417 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 258, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1415, + "current_goal_text": "get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", + "goal_id": 1418 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 259, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1418, + "current_goal_text": "log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", + "current_goal_predicate": "log.coq.arguments.set-implicit", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := const «HB_unnamed_factory_27»" ], + [ "Assign", "A1 := [[]]" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]], \n if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", + "goal_id": 1419 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 260, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1419, + "current_goal_text": "std.do!\n [coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]], \n if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]" + ], + [ + "Assign", + "A1 := [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit X119 X120 [[]]))]" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", + "goal_id": 1420 + }, + { "goal_text": "!", "goal_id": 1421 }, + { + "goal_text": "std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", + "goal_id": 1422 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 261, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1420, + "current_goal_text": "coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", + "current_goal_predicate": "coq.arguments.set-implicit", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "coq.arguments.set-implicit", + "kind": "FFI", + "payload": [] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "coq.arguments.set-implicit", + "kind": "FFI", + "payload": [] + } + ], + "step_id": 261, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 262, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1421, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 263, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1422, + "current_goal_text": "std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if (get-option coq:locality local) (X119 = tt) (X119 = ff)" + ], + [ + "Assign", + "A1 := [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit X119 X120 [[]]))]" + ] + ] + }, + "siblings": [ + { + "goal_text": "if (get-option coq:locality local) (X119 = tt) (X119 = ff)", + "goal_id": 1423 + }, + { "goal_text": "!", "goal_id": 1424 }, + { + "goal_text": "std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", + "goal_id": 1425 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 264, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1423, + "current_goal_text": "if (get-option coq:locality local) (X119 = tt) (X119 = ff)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := get-option coq:locality local" ], + [ "Assign", "A1 := X119 = tt" ] + ] + }, + "siblings": [ + { + "goal_text": "get-option coq:locality local", + "goal_id": 1426 + }, + { "goal_text": "!", "goal_id": 1427 }, + { "goal_text": "X119 = tt", "goal_id": 1428 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 264, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 265, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1426, + "current_goal_text": "get-option coq:locality local", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(get-option coq:locality local) :- .", + "rule_loc": [ "Context", 258 ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(get-option coq:locality local) :- .", + "rule_loc": [ "Context", 258 ] + } + ], + "step_id": 265, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 264, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 266, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1427, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if (get-option coq:locality local) (X119 = tt) (X119 = ff)", + "goal_id": 1423 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 267, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1428, + "current_goal_text": "X119 = tt", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X119 := tt" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 267, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 264, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 268, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1424, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 269, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1425, + "current_goal_text": "std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]]))]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])", + "goal_id": 1429 + }, + { "goal_text": "!", "goal_id": 1430 }, + { "goal_text": "std.do! []", "goal_id": 1431 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 270, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1429, + "current_goal_text": "coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "coq.gref->id (const «HB_unnamed_factory_27») X120", + "goal_id": 1432 + }, + { + "goal_text": "log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])", + "goal_id": 1433 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 270, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 271, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1432, + "current_goal_text": "coq.gref->id (const «HB_unnamed_factory_27») X120", + "current_goal_predicate": "coq.gref->id", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.gref->id", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X120 = HB_unnamed_factory_27", + "goal_id": 1434 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.gref->id", "kind": "FFI", "payload": [] } + ], + "step_id": 271, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 270, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 272, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1434, + "current_goal_text": "X120 = HB_unnamed_factory_27", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X120 := HB_unnamed_factory_27" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 272, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.gref->id", "kind": "FFI", "payload": [] } + ], + "step_id": 271, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 270, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 273, + "runtime_id": 8, + "step": [ + "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_predicate": "log.private.log-vernac", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => 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/log.elpi", + "line": 291, + "column": 0, + "character": 11441 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "log.private.logger X121 X122", + "goal_id": 1435 + }, + { "goal_text": "!", "goal_id": 1436 }, + { + "goal_text": "if (X122 = tt) (X123 = []) (X123 = [get-option coq:pp all])", + "goal_id": 1437 + }, + { + "goal_text": "X123 =>\n log.private.coq.vernac->pp\n [log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]] X124", + "goal_id": 1438 + }, + { + "goal_text": "log.private.logger-extend X121 X124", + "goal_id": 1439 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 275 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => 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/log.elpi", + "line": 291, + "column": 0, + "character": 11441 + } + ] + } + ], + "step_id": 273, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 270, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 274, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1435, + "current_goal_text": "log.private.logger X121 X122", + "current_goal_predicate": "log.private.logger", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => 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/log.elpi", + "line": 291, + "column": 0, + "character": 11441 + } + ] + } + ], + "step_id": 273, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 270, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 275, + "runtime_id": 8, + "step": [ + "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_predicate": "log.private.log-vernac", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac _) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 294, + "column": 0, + "character": 11623 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(log.private.log-vernac _) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 294, + "column": 0, + "character": 11623 + } + ] + } + ], + "step_id": 275, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 270, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 276, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1430, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 277, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1431, + "current_goal_text": "std.do! []", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "step_id": 277, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 269, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 263, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 260, + "runtime_id": 8 + }, + { + "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 = tt) (A2 = 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", + "line": 14, + "column": 0, + "character": 592 + } + ] + } + ], + "step_id": 259, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 258, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 278, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1416, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 279, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1417, + "current_goal_text": "std.do! []", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "step_id": 279, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 257, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 252, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 246, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 238, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 234, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 224, + "runtime_id": 8 + }, + { + "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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 59, + "column": 0, + "character": 2355 + } + ] + } + ], + "step_id": 223, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 280, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1374, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 281, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1375, + "current_goal_text": "std.do!\n [X87 = global (const «HB_unnamed_factory_27»), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := X87 = global (const «HB_unnamed_factory_27»)" + ], + [ + "Assign", + "A1 := [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "X87 = global (const «HB_unnamed_factory_27»)", + "goal_id": 1440 + }, + { "goal_text": "!", "goal_id": 1441 }, + { + "goal_text": "std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 282, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1440, + "current_goal_text": "X87 = global (const «HB_unnamed_factory_27»)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X87 := global (const «HB_unnamed_factory_27»)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 282, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 283, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1441, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 284, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1442, + "current_goal_text": "std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.drop 0 [global (indt «nat»)] [X88 | _]" + ], + [ + "Assign", + "A1 := [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.drop 0 [global (indt «nat»)] [X88 | _]", + "goal_id": 1443 + }, + { "goal_text": "!", "goal_id": 1444 }, + { + "goal_text": "std.do!\n [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1445 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 285, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1443, + "current_goal_text": "std.drop 0 [global (indt «nat»)] [X88 | _]", + "current_goal_predicate": "std.drop", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.drop 0 A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 99, + "column": 0, + "character": 3183 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := [global (indt «nat»)]" ], + [ "Assign", "X88 := global (indt «nat»)" ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1446 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.drop 0 A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 99, + "column": 0, + "character": 3183 + } + ] + } + ], + "step_id": 285, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 286, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1446, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.drop 0 [global (indt «nat»)] [X88 | _]", + "goal_id": 1443 + }, + "cut_branch": { + "rule_text": "(std.drop A0 [_ | A1] A2) :- (!), (A3 is A0 - 1), (std.drop A3 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 100, + "column": 0, + "character": 3200 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "std.drop 0 [global (indt «nat»)] [X88 | _]", + "goal_id": 1443 + }, + "cut_branch": { + "rule_text": "(std.drop _ _ _) :- (std.fatal-error drop run out of list items).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 101, + "column": 0, + "character": 3249 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 287, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1444, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 288, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1445, + "current_goal_text": "std.do!\n [instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.private.check-non-forgetful-inheritance\n (global (indt «nat»)) (indt «IsSelfA'.axioms_»)" + ], + [ + "Assign", + "A1 := [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)", + "goal_id": 1447 + }, + { "goal_text": "!", "goal_id": 1448 }, + { + "goal_text": "std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1449 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 289, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1447, + "current_goal_text": "instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)", + "current_goal_predicate": "instance.private.check-non-forgetful-inheritance", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.check-non-forgetful-inheritance _ _) :- (get-option\n non_forgetful_inheritance \n tt), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 341, + "column": 0, + "character": 14872 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "get-option non_forgetful_inheritance tt", + "goal_id": 1450 + }, + { "goal_text": "!", "goal_id": 1451 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 291 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.check-non-forgetful-inheritance _ _) :- (get-option\n non_forgetful_inheritance \n tt), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 341, + "column": 0, + "character": 14872 + } + ] + } + ], + "step_id": 289, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 290, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1450, + "current_goal_text": "get-option non_forgetful_inheritance tt", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.check-non-forgetful-inheritance _ _) :- (get-option\n non_forgetful_inheritance \n tt), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 341, + "column": 0, + "character": 14872 + } + ] + } + ], + "step_id": 289, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 291, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1447, + "current_goal_text": "instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)", + "current_goal_predicate": "instance.private.check-non-forgetful-inheritance", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «nat»)" ], + [ "Assign", "A1 := indt «IsSelfA'.axioms_»" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true]", + "goal_id": 1452 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 292, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1452, + "current_goal_text": "std.do!\n [if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 \n depend on 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 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-inheritance.v \n to witness devastating effects.)) true" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true", + "goal_id": 1453 + }, + { "goal_text": "!", "goal_id": 1454 }, + { "goal_text": "std.do! []", "goal_id": 1455 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 293, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1453, + "current_goal_text": "if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126" + ], + [ + "Assign", + "A1 := , (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126", + "goal_id": 1456 + }, + { "goal_text": "!", "goal_id": 1457 }, + { + "goal_text": ", (nice-gref->string (indt «IsSelfA'.axioms_») 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 X129 \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 #[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 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-inheritance.v \n to witness devastating effects.)", + "goal_id": 1458 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 296 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 293, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 294, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1456, + "current_goal_text": "coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _", + "goal_id": 1459 + }, + { "goal_text": "structure-key X125 _ X126", "goal_id": 1460 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 294, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 293, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 295, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1459, + "current_goal_text": "coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _", + "current_goal_predicate": "coq.safe-dest-app", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «nat»)" ], + [ + "Fail", "unify global (const X125) with global (indt «nat»)" + ] + ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + ], + "step_id": 295, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 294, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 293, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 296, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1453, + "current_goal_text": "if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1461 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 296, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 297, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1461, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 297, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 296, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 298, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1454, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 299, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1455, + "current_goal_text": "std.do! []", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "step_id": 299, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 292, + "runtime_id": 8 + }, + { + "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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 343, + "column": 0, + "character": 14959 + } + ] + } + ], + "step_id": 291, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 300, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1448, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 301, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1449, + "current_goal_text": "std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) \n X89 X90" + ], + [ + "Assign", + "A1 := [if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90", + "goal_id": 1462 + }, + { "goal_text": "!", "goal_id": 1463 }, + { + "goal_text": "std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1464 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 302, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1462, + "current_goal_text": "instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90", + "current_goal_predicate": "instance.private.declare-instance", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "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 temporary instances, make an alias, e.g. with let T' := T) \n true), (!), \n (instance.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", + "line": 188, + "column": 0, + "character": 8025 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := global (indt «nat»)" ], + [ "Assign", "A2 := global (const «HB_unnamed_factory_27»)" ], + [ "Assign", "A3 := X89" ], + [ "Assign", "A4 := X90" ] + ] + }, + "siblings": [ + { + "goal_text": "current-mode (builder-from (global (indt «nat»)) 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' := T) \n true", + "goal_id": 1467 + }, + { "goal_text": "!", "goal_id": 1468 }, + { + "goal_text": "instance.private.declare-canonical-instances-from-factory-and-local-builders\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X130 X131 X89 X90", + "goal_id": 1469 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 304 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "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 temporary instances, make an alias, e.g. with let T' := T) \n true), (!), \n (instance.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", + "line": 188, + "column": 0, + "character": 8025 + } + ] + } + ], + "step_id": 302, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 303, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1465, + "current_goal_text": "current-mode (builder-from (global (indt «nat»)) X130 X131 _)", + "current_goal_predicate": "current-mode", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "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 temporary instances, make an alias, e.g. with let T' := T) \n true), (!), \n (instance.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", + "line": 188, + "column": 0, + "character": 8025 + } + ] + } + ], + "step_id": 302, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 304, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1462, + "current_goal_text": "instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90", + "current_goal_predicate": "instance.private.declare-instance", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := global (indt «nat»)" ], + [ "Assign", "A2 := global (const «HB_unnamed_factory_27»)" ], + [ "Assign", "A3 := X89" ], + [ "Assign", "A4 := X90" ] + ] + }, + "siblings": [ + { + "goal_text": "instance.private.declare-canonical-instances-from-factory\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X90", + "goal_id": 1470 + }, + { + "goal_text": "if (get-option export tt) \n (coq.env.current-library X132 ,\n std.map X90 (c0 \\ c1 \\\n sigma c2 \\ sigma c3 \\ c0 = pr c2 c3 , c1 = instance-to-export X132 c2 c3) \n X89) (X89 = [])", + "goal_id": 1471 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 305, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1470, + "current_goal_text": "instance.private.declare-canonical-instances-from-factory\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X90", + "current_goal_predicate": "instance.private.declare-canonical-instances-from-factory", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := global (indt «nat»)" ], + [ "Assign", "A2 := global (const «HB_unnamed_factory_27»)" ], + [ "Assign", "A3 := X90" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]], \n std.append X135 X137 X90]", + "goal_id": 1472 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 306, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1472, + "current_goal_text": "std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]], \n std.append X135 X137 X90]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]" + ], + [ "Assign", "A1 := [std.append X135 X137 X90]" ] + ] + }, + "siblings": [ + { + "goal_text": "synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]", + "goal_id": 1473 + }, + { "goal_text": "!", "goal_id": 1474 }, + { + "goal_text": "std.do! [std.append X135 X137 X90]", + "goal_id": 1475 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 307, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1473, + "current_goal_text": "synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]", + "current_goal_predicate": "synthesis.under-mixin-src-from-factory.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «nat»)" ], + [ "Assign", "A1 := global (const «HB_unnamed_factory_27»)" ], + [ + "Assign", + "A2 := [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138, \n std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]", + "goal_id": 1476 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 308, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1476, + "current_goal_text": "std.do!\n [synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138, \n std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138" + ], + [ + "Assign", + "A1 := [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]" + ] + ] + }, + "siblings": [ + { + "goal_text": "synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138", + "goal_id": 1477 + }, + { "goal_text": "!", "goal_id": 1478 }, + { + "goal_text": "std.do!\n [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]", + "goal_id": 1479 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 309, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1477, + "current_goal_text": "synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138", + "current_goal_predicate": "synthesis.private.factory-instance->new-mixins", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := global (const «HB_unnamed_factory_27»)" ], + [ "Assign", "A2 := X138" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 310, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1480, + "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped" + ], + [ + "Assign", + "A1 := [if (not (coq.safe-dest-app X140 (global _) _)) \n (,\n (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string X140 X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) \n true, 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]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) 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 «HB_unnamed_factory_27»)) 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": 1483 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 311, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1481, + "current_goal_text": "std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped", + "current_goal_predicate": "std.assert-ok!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.typecheck (global (const «HB_unnamed_factory_27»)) X140" + ], + [ "Assign", "A1 := mixin-src: X illtyped" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146", + "goal_id": 1484 + }, + { "goal_text": "!", "goal_id": 1485 }, + { + "goal_text": "X146 = ok ;\n X146 = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147", + "goal_id": 1486 + }, + { "goal_text": "!", "goal_id": 1487 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 311, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 312, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1484, + "current_goal_text": "coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146", + "current_goal_predicate": "coq.typecheck", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]", + "goal_id": 1488 + }, + { "goal_text": "X146 = ok", "goal_id": 1489 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 312, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 311, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 313, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1488, + "current_goal_text": "X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X140 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 313, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 312, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 311, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 314, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1489, + "current_goal_text": "X146 = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X146 := ok" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 314, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 312, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 311, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 315, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1485, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped", + "goal_id": 1481 + }, + "cut_branch": { + "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 41, + "column": 0, + "character": 1520 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 316, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1486, + "current_goal_text": "ok = ok ; ok = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ [ "Assign", "A0 := ok = ok" ] ] + }, + "siblings": [ { "goal_text": "ok = ok", "goal_id": 1490 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 316, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 311, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 317, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1490, + "current_goal_text": "ok = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 317, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 316, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 311, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 318, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1487, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "X146 = ok ;\n X146 = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147", + "goal_id": 1486 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 319, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1482, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 320, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1483, + "current_goal_text": "std.do!\n [if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true, \n coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) \n true" + ], + [ + "Assign", + "A1 := [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X143, factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]" + ] + ] + }, + "siblings": [ + { + "goal_text": "if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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 «IsSelfA'.axioms_»), global (indt «nat»)]) 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 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 321, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1491, + "current_goal_text": "if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)" + ], + [ + "Assign", + "A1 := , (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)" + ] + ] + }, + "siblings": [ + { + "goal_text": "not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)", + "goal_id": 1494 + }, + { "goal_text": "!", "goal_id": 1495 }, + { + "goal_text": ", (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)", + "goal_id": 1496 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 329 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 321, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 322, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1494, + "current_goal_text": "not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _", + "goal_id": 1497 + }, + { "goal_text": "!", "goal_id": 1498 }, + { "goal_text": "fail", "goal_id": 1499 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 322, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 321, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 323, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1497, + "current_goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _", + "current_goal_predicate": "coq.safe-dest-app", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], + [ "Assign", "A1 := [global (indt «nat»)]" ], + [ "Assign", "A2 := global _" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1500 }, + { + "goal_text": "coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148", + "goal_id": 1501 + }, + { + "goal_text": "std.append X148 [global (indt «nat»)] X149", + "goal_id": 1502 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "step_id": 323, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 322, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 321, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 324, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1500, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _", + "goal_id": 1497 + }, + "cut_branch": { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 325, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1501, + "current_goal_text": "coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148", + "current_goal_predicate": "coq.safe-dest-app", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], + [ "Assign", "X148 := []" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.safe-dest-app A0 A0 []) :- .", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 74, + "column": 0, + "character": 2886 + } + ] + } + ], + "step_id": 325, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "step_id": 323, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 322, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 321, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 326, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1502, + "current_goal_text": "std.append [] [global (indt «nat»)] X149", + "current_goal_predicate": "std.append", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 81, + "column": 0, + "character": 2754 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := [global (indt «nat»)]" ], + [ "Assign", "X149 := [global (indt «nat»)]" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.append [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 81, + "column": 0, + "character": 2754 + } + ] + } + ], + "step_id": 326, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 72, + "column": 0, + "character": 2783 + } + ] + } + ], + "step_id": 323, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 322, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 321, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 327, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1498, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)", + "goal_id": 1494 + }, + "cut_branch": { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 54, + "column": 0, + "character": 631 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 328, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1499, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 322, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 321, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 329, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1491, + "current_goal_text": "if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1503 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 329, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 330, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1503, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 330, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 329, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 331, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1492, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 332, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1493, + "current_goal_text": "std.do!\n [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143" + ], + [ + "Assign", + "A1 := [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143", + "goal_id": 1504 + }, + { "goal_text": "!", "goal_id": 1505 }, + { + "goal_text": "std.do!\n [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]", + "goal_id": 1506 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 333, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1504, + "current_goal_text": "coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143", + "current_goal_predicate": "coq.term->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->gref A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 431, + "column": 0, + "character": 18295 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], + [ "Assign", "A1 := X143" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1507 }, + { + "goal_text": "coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143", + "goal_id": 1508 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->gref A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 431, + "column": 0, + "character": 18295 + } + ] + } + ], + "step_id": 333, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 334, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1507, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 433, + "column": 0, + "character": 18415 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 335, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1508, + "current_goal_text": "coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143", + "current_goal_predicate": "coq.term->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.term->gref (global A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 430, + "column": 0, + "character": 18259 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "X143 := indt «IsSelfA'.axioms_»" ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1509 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.term->gref (global A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 430, + "column": 0, + "character": 18259 + } + ] + } + ], + "step_id": 335, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->gref A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 431, + "column": 0, + "character": 18295 + } + ] + } + ], + "step_id": 333, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 336, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1509, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.term->gref (global (indt «IsSelfA'.axioms_»)) 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_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 433, + "column": 0, + "character": 18415 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 337, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1505, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 338, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1506, + "current_goal_text": "std.do!\n [factory-provides (indt «IsSelfA'.axioms_») 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := factory-provides (indt «IsSelfA'.axioms_») X144" + ], + [ + "Assign", + "A1 := [list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]" + ] + ] + }, + "siblings": [ + { + "goal_text": "factory-provides (indt «IsSelfA'.axioms_») 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_id": 1512 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 339, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1510, + "current_goal_text": "factory-provides (indt «IsSelfA'.axioms_») X144", + "current_goal_predicate": "factory-provides", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := X144" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]", + "goal_id": 1513 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 340, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1513, + "current_goal_text": "std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := factory-alias->gref (indt «IsSelfA'.axioms_») X150" + ], + [ + "Assign", + "A1 := [gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]" + ] + ] + }, + "siblings": [ + { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", + "goal_id": 1514 + }, + { "goal_text": "!", "goal_id": 1515 }, + { + "goal_text": "std.do!\n [gref-deps X150 X151, w-params.map X151 (factory-provides.base X150) X144]", + "goal_id": 1516 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 341, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1514, + "current_goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := X150" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev X150 (indt «IsSelfA'.axioms_») _", + "goal_id": 1517 + }, + { "goal_text": "!", "goal_id": 1518 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 343 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 341, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 342, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1517, + "current_goal_text": "phant-abbrev X150 (indt «IsSelfA'.axioms_») _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indt «HasA.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indc «HasA.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indt «HasB.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indc «HasB.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indt «IsSelfA.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indc «IsSelfA.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indt «IsSelfA'.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X150 := indc «IsSelfA'.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»" + ] + ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 342, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 341, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 343, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1514, + "current_goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "X150 := indt «IsSelfA'.axioms_»" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev (indt «IsSelfA'.axioms_») _ _", + "goal_id": 1519 + }, + { "goal_text": "!", "goal_id": 1520 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 343, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 344, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1519, + "current_goal_text": "phant-abbrev (indt «IsSelfA'.axioms_») _ _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 344, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 343, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 345, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1520, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", + "goal_id": 1514 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", + "goal_id": 1514 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", + "goal_id": 1514 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 346, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1515, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 347, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1516, + "current_goal_text": "std.do!\n [gref-deps (indt «IsSelfA'.axioms_») X151, \n w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", "A0 := gref-deps (indt «IsSelfA'.axioms_») X151" + ], + [ + "Assign", + "A1 := [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) \n X144]" + ] + ] + }, + "siblings": [ + { + "goal_text": "gref-deps (indt «IsSelfA'.axioms_») X151", + "goal_id": 1521 + }, + { "goal_text": "!", "goal_id": 1522 }, + { + "goal_text": "std.do!\n [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]", + "goal_id": 1523 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 348, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1521, + "current_goal_text": "gref-deps (indt «IsSelfA'.axioms_») X151", + "current_goal_predicate": "gref-deps", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(gref-deps (indt «IsSelfA'.axioms_») \n (w-params.nil TheType (sort (typ «interleave_context.382»)) (c0 \\ []))) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Assign", + "X151 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(gref-deps (indt «IsSelfA'.axioms_») \n (w-params.nil TheType (sort (typ «interleave_context.382»)) (c0 \\ []))) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 348, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 349, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1522, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 350, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1523, + "current_goal_text": "std.do!\n [w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144", + "goal_id": 1524 + }, + { "goal_text": "!", "goal_id": 1525 }, + { "goal_text": "std.do! []", "goal_id": 1526 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 351, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1524, + "current_goal_text": "w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144", + "current_goal_predicate": "w-params.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []" + ], + [ + "Assign", + "A1 := factory-provides.base (indt «IsSelfA'.axioms_»)" + ], + [ "Assign", "A2 := X144" ] + ] + }, + "siblings": [ + { + "goal_text": "w-params.then\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-name \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144", + "goal_id": 1527 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 352, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1527, + "current_goal_text": "w-params.then\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-name \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144", + "current_goal_predicate": "w-params.then", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []" + ], + [ "Assign", "A1 := mk-w-params.cons-name" ], + [ "Assign", "A2 := mk-w-params.nil-name" ], + [ + "Assign", + "A3 := factory-provides.base (indt «IsSelfA'.axioms_»)" + ], + [ "Assign", "A4 := X144" ] + ] + }, + "siblings": [ + { + "goal_text": "w-params.fold\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144", + "goal_id": 1528 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 353, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1528, + "current_goal_text": "w-params.fold\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []" + ], + [ "Assign", "A1 := mk-w-params.cons-name" ], + [ + "Assign", + "A2 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4" + ], + [ "Assign", "A3 := X144" ] + ] + }, + "siblings": [ + { + "goal_text": "w-params.fold.params\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144", + "goal_id": 1529 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 354, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1529, + "current_goal_text": "w-params.fold.params\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») 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": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := TheType" ], + [ "Assign", "A1 := sort (typ «interleave_context.382»)" ], + [ "Assign", "A2 := c0 \\\n[]" ], + [ + "Assign", + "A3 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4" + ], + [ "Assign", "A4 := []" ], + [ "Assign", "A5 := X144" ] + ] + }, + "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 «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]", + "goal_id": 1531 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 355, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1530, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 356, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1531, + "current_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 «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := coq.id->name TheType X152" ], + [ + "Assign", + "A1 := [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) \n c0 X144]" + ] + ] + }, + "siblings": [ + { "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 «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]", + "goal_id": 1534 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 357, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1532, + "current_goal_text": "coq.id->name TheType X152", + "current_goal_predicate": "coq.id->name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0 A1).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 1296, + "column": 0, + "character": 51690 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := TheType" ], [ "Assign", "A1 := X152" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.string->name TheType X152", + "goal_id": 1535 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0 A1).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 1296, + "column": 0, + "character": 51690 + } + ] + } + ], + "step_id": 357, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 358, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1535, + "current_goal_text": "coq.string->name TheType X152", + "current_goal_predicate": "coq.string->name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.string->name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "X152 = `TheType`", "goal_id": 1536 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.string->name", "kind": "FFI", "payload": [] } + ], + "step_id": 358, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0 A1).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 1296, + "column": 0, + "character": 51690 + } + ] + } + ], + "step_id": 357, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 359, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1536, + "current_goal_text": "X152 = `TheType`", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X152 := `TheType`" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 359, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.string->name", "kind": "FFI", "payload": [] } + ], + "step_id": 358, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.id->name A0 A1) :- (coq.string->name A0 A1).", + "rule_loc": [ + "File", + { + "filename": "coq-builtin.elpi", + "line": 1296, + "column": 0, + "character": 51690 + } + ] + } + ], + "step_id": 357, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 360, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1533, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 361, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1534, + "current_goal_text": "std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := std.rev [] X153" ], + [ + "Assign", + "A1 := [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144]" + ] + ] + }, + "siblings": [ + { "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 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]", + "goal_id": 1539 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 362, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1537, + "current_goal_text": "std.rev [] X153", + "current_goal_predicate": "std.rev", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.rev A0 A1) :- (std.rev.aux A0 [] A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 70, + "column": 0, + "character": 2457 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], [ "Assign", "A1 := X153" ] + ] + }, + "siblings": [ + { "goal_text": "std.rev.aux [] [] X153", "goal_id": 1540 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.rev A0 A1) :- (std.rev.aux A0 [] A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 70, + "column": 0, + "character": 2457 + } + ] + } + ], + "step_id": 362, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 363, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1540, + "current_goal_text": "std.rev.aux [] [] X153", + "current_goal_predicate": "std.rev.aux", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.rev.aux [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 72, + "column": 0, + "character": 2534 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], [ "Assign", "X153 := []" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.rev.aux [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 72, + "column": 0, + "character": 2534 + } + ] + } + ], + "step_id": 363, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.rev A0 A1) :- (std.rev.aux A0 [] A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 70, + "column": 0, + "character": 2457 + } + ] + } + ], + "step_id": 362, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 364, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1538, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 365, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1539, + "current_goal_text": "std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144", + "goal_id": 1541 + }, + { "goal_text": "!", "goal_id": 1542 }, + { "goal_text": "std.do! []", "goal_id": 1543 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 366, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1541, + "current_goal_text": "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144", + "current_goal_predicate": "sigma", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144", + "goal_id": 1544 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 367, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1544, + "current_goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)", + "goal_id": 1545 + }, + { + "goal_text": "mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144", + "goal_id": 1546 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 368, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1545, + "current_goal_text": "pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)", + "goal_id": 1547 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 369, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1547, + "current_goal_text": "decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)", + "goal_id": 1548 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 370, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1548, + "current_goal_text": "factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)", + "current_goal_predicate": "factory-provides.base", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := c0" ], + [ "Assign", "A3 := X154 c0" ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [std.findall (from (indt «IsSelfA'.axioms_») 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)]", + "goal_id": 1549 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 371, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1549, + "current_goal_text": "std.do!\n [std.findall (from (indt «IsSelfA'.axioms_») 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_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1" + ], + [ + "Assign", + "A1 := [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)]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.findall (from (indt «IsSelfA'.axioms_») 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 X157^1 from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]", + "goal_id": 1552 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 372, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1550, + "current_goal_text": "std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») X155^1 X156^1" + ], + [ "Assign", "A1 := X157^1" ] + ] + }, + "siblings": [ + { + "goal_text": "findall_solutions (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1", + "goal_id": 1553 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 372, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 373, + "runtime_id": 8, + "step": [ + "Findall", + { + "findall_goal_id": 1553, + "findall_goal_text": "findall_solutions (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 10, + "step": [ + "Init", + { + "goal_text": "from (indt «IsSelfA'.axioms_») X0^1 X1^1", + "goal_id": 1555 + } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 10, + "step": [ + "Inference", + { + "current_goal_id": 1555, + "current_goal_text": "from (indt «IsSelfA'.axioms_») X0^1 X1^1", + "current_goal_predicate": "from", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «HasA.axioms_») (indt «HasA.axioms_») \n (const «HasA.identity_builder»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «A.axioms_») (indt «HasA.axioms_») \n (const «A.interleave_context_HasA_mixin»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «A.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «HasB.axioms_») (indt «HasB.axioms_») \n (const «HasB.identity_builder»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «B.axioms_») (indt «HasB.axioms_») \n (const «B.interleave_context_HasB_mixin»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «B.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «IsSelfA.axioms_») (indt «IsSelfA.axioms_») \n (const «IsSelfA.identity_builder»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «SelfA.axioms_») (indt «HasA.axioms_») \n (const «SelfA.interleave_context_HasA_mixin»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «SelfA.axioms_») (indt «HasB.axioms_») \n (const «SelfA.interleave_context_HasB_mixin»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «SelfA.axioms_») (indt «IsSelfA.axioms_») \n (const «SelfA.interleave_context_IsSelfA_mixin»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X0^1 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X1^1 := const «Builders_18.HB_unnamed_factory_24»" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [ 2, 3 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «HasA.axioms_») (indt «HasA.axioms_») \n (const «HasA.identity_builder»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 10 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 2, + "runtime_id": 10, + "step": [ + "Inference", + { + "current_goal_id": 1555, + "current_goal_text": "from (indt «IsSelfA'.axioms_») X0^1 X1^1", + "current_goal_predicate": "from", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X0^1 := indt «HasB.axioms_»" ], + [ + "Assign", + "X1^1 := const «Builders_18.HB_unnamed_factory_22»" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [ 3 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 2, + "runtime_id": 10 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 3, + "runtime_id": 10, + "step": [ + "Inference", + { + "current_goal_id": 1555, + "current_goal_text": "from (indt «IsSelfA'.axioms_») X0^1 X1^1", + "current_goal_predicate": "from", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X0^1 := indt «HasA.axioms_»" ], + [ + "Assign", + "X1^1 := const «Builders_18.HB_unnamed_factory_20»" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 3, + "runtime_id": 10 + } + ] + } + ], + "color": "Green" + } + ], + "findall_solution_text": [ + "X157^1 := [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" + ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 373, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 372, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 374, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1551, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 375, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1552, + "current_goal_text": "std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1, \n std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] 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": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1" + ], + [ + "Assign", + "A1 := [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1", + "goal_id": 1556 + }, + { "goal_text": "!", "goal_id": 1557 }, + { + "goal_text": "std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]", + "goal_id": 1558 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 376, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1556, + "current_goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)" + ], + [ + "Assign", + "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" + ], + [ "Assign", "A2 := from_mixin" ], + [ "Assign", "X158^1 := [X160^1 | X161^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X160^1", + "goal_id": 1559 + }, + { + "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X161^1", + "goal_id": 1560 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 377, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1559, + "current_goal_text": "from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X160^1", + "current_goal_predicate": "from_mixin", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from_mixin (from _ A0 _) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 12, + "column": 0, + "character": 414 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA.axioms_»" ], + [ "Assign", "X160^1 := indt «IsSelfA.axioms_»" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from_mixin (from _ A0 _) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 12, + "column": 0, + "character": 414 + } + ] + } + ], + "step_id": 377, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 378, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1560, + "current_goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X161^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ + "Assign", + "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" + ], + [ "Assign", "A2 := from_mixin" ], + [ "Assign", "X161^1 := [X162^1 | X163^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X162^1", + "goal_id": 1561 + }, + { + "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X163^1", + "goal_id": 1562 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 378, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 379, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1561, + "current_goal_text": "from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X162^1", + "current_goal_predicate": "from_mixin", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from_mixin (from _ A0 _) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 12, + "column": 0, + "character": 414 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «HasB.axioms_»" ], + [ "Assign", "X162^1 := indt «HasB.axioms_»" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from_mixin (from _ A0 _) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 12, + "column": 0, + "character": 414 + } + ] + } + ], + "step_id": 379, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 378, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 380, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1562, + "current_goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X163^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)" + ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := from_mixin" ], + [ "Assign", "X163^1 := [X164^1 | X165^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X164^1", + "goal_id": 1563 + }, + { + "goal_text": "std.map [] from_mixin X165^1", + "goal_id": 1564 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 380, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 378, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 381, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1563, + "current_goal_text": "from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X164^1", + "current_goal_predicate": "from_mixin", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from_mixin (from _ A0 _) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 12, + "column": 0, + "character": 414 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «HasA.axioms_»" ], + [ "Assign", "X164^1 := indt «HasA.axioms_»" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from_mixin (from _ A0 _) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 12, + "column": 0, + "character": 414 + } + ] + } + ], + "step_id": 381, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 380, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 378, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 382, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1564, + "current_goal_text": "std.map [] from_mixin X165^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X165^1 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 382, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 380, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 378, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 376, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 383, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1557, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 384, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1558, + "current_goal_text": "std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1" + ], + [ + "Assign", + "A1 := [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1", + "goal_id": 1565 + }, + { "goal_text": "!", "goal_id": 1566 }, + { + "goal_text": "std.do!\n [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]", + "goal_id": 1567 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 385, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1565, + "current_goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)" + ], + [ + "Assign", + "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" + ], + [ "Assign", "A2 := from_builder" ], + [ "Assign", "X159^1 := [X166^1 | X167^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "from_builder\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X166^1", + "goal_id": 1568 + }, + { + "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X167^1", + "goal_id": 1569 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 386, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1568, + "current_goal_text": "from_builder\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X166^1", + "current_goal_predicate": "from_builder", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from_builder (from _ _ A0) (global A0)) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 15, + "column": 0, + "character": 476 + } + ] + } + ], + "events": [ + [ + "Assign", "A0 := const «Builders_18.HB_unnamed_factory_24»" + ], + [ + "Assign", + "X166^1 := global (const «Builders_18.HB_unnamed_factory_24»)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from_builder (from _ _ A0) (global A0)) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 15, + "column": 0, + "character": 476 + } + ] + } + ], + "step_id": 386, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 387, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1569, + "current_goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X167^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ + "Assign", + "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" + ], + [ "Assign", "A2 := from_builder" ], + [ "Assign", "X167^1 := [X168^1 | X169^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X168^1", + "goal_id": 1570 + }, + { + "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X169^1", + "goal_id": 1571 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 387, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 388, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1570, + "current_goal_text": "from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X168^1", + "current_goal_predicate": "from_builder", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from_builder (from _ _ A0) (global A0)) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 15, + "column": 0, + "character": 476 + } + ] + } + ], + "events": [ + [ + "Assign", "A0 := const «Builders_18.HB_unnamed_factory_22»" + ], + [ + "Assign", + "X168^1 := global (const «Builders_18.HB_unnamed_factory_22»)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from_builder (from _ _ A0) (global A0)) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 15, + "column": 0, + "character": 476 + } + ] + } + ], + "step_id": 388, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 387, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 389, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1571, + "current_goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X169^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)" + ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := from_builder" ], + [ "Assign", "X169^1 := [X170^1 | X171^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X170^1", + "goal_id": 1572 + }, + { + "goal_text": "std.map [] from_builder X171^1", + "goal_id": 1573 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 389, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 387, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 390, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1572, + "current_goal_text": "from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X170^1", + "current_goal_predicate": "from_builder", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(from_builder (from _ _ A0) (global A0)) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 15, + "column": 0, + "character": 476 + } + ] + } + ], + "events": [ + [ + "Assign", "A0 := const «Builders_18.HB_unnamed_factory_20»" + ], + [ + "Assign", + "X170^1 := global (const «Builders_18.HB_unnamed_factory_20»)" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(from_builder (from _ _ A0) (global A0)) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 15, + "column": 0, + "character": 476 + } + ] + } + ], + "step_id": 390, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 389, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 387, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 391, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1573, + "current_goal_text": "std.map [] from_builder X171^1", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X171^1 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 391, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 389, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 387, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 385, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 392, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1566, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 393, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1567, + "current_goal_text": "std.do!\n [std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)", + "goal_id": 1574 + }, + { "goal_text": "!", "goal_id": 1575 }, + { "goal_text": "std.do! []", "goal_id": 1576 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 394, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1574, + "current_goal_text": "std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)", + "current_goal_predicate": "std.map2", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_24»)" + ], + [ + "Assign", + "A1 := [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)]" + ], + [ "Assign", "A2 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "A3 := [indt «HasB.axioms_», indt «HasA.axioms_»]" + ], + [ "Assign", "A4 := factory-provides.one [] c0" ], + [ "Assign", "X154 := c0 \\\nX172 c0" ], + [ "Assign", "X172^1 := [X173^1 | X174^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_24»)) \n (indt «IsSelfA.axioms_») X173^1", + "goal_id": 1577 + }, + { + "goal_text": "std.map2\n [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasB.axioms_», indt «HasA.axioms_»] (factory-provides.one [] c0) \n X174^1", + "goal_id": 1578 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 395, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1577, + "current_goal_text": "factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_24»)) \n (indt «IsSelfA.axioms_») X173^1", + "current_goal_predicate": "factory-provides.one", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := c0" ], + [ + "Assign", + "A2 := global (const «Builders_18.HB_unnamed_factory_24»)" + ], + [ "Assign", "A3 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X173^1 := triple (indt «IsSelfA.axioms_») X175^1 c0" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "goal_id": 1579 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 396, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1579, + "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped" + ], + [ + "Assign", + "A1 := [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped", + "goal_id": 1580 + }, + { "goal_text": "!", "goal_id": 1581 }, + { + "goal_text": "std.do!\n [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "goal_id": 1582 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 397, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1580, + "current_goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped", + "current_goal_predicate": "std.assert-ok!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1" + ], + [ "Assign", "A1 := Builder illtyped" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1", + "goal_id": 1583 + }, + { "goal_text": "!", "goal_id": 1584 }, + { + "goal_text": "X179^1 = ok ;\n X179^1 = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1", + "goal_id": 1585 + }, + { "goal_text": "!", "goal_id": 1586 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 397, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 398, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1583, + "current_goal_text": "coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1", + "current_goal_predicate": "coq.typecheck", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]", + "goal_id": 1587 + }, + { "goal_text": "X179^1 = ok", "goal_id": 1588 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 398, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 397, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 399, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1587, + "current_goal_text": "X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X176^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 399, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 398, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 397, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 400, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1588, + "current_goal_text": "X179^1 = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X179^1 := ok" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 400, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 398, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 397, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 401, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1584, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped", + "goal_id": 1580 + }, + "cut_branch": { + "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 41, + "column": 0, + "character": 1520 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 402, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1585, + "current_goal_text": "ok = ok ; ok = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ [ "Assign", "A0 := ok = ok" ] ] + }, + "siblings": [ { "goal_text": "ok = ok", "goal_id": 1589 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 402, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 397, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 403, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1589, + "current_goal_text": "ok = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 403, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 402, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 397, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 404, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1586, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "X179^1 = ok ;\n X179^1 = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1", + "goal_id": 1585 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 405, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1581, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 406, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1582, + "current_goal_text": "std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1" + ], + [ + "Assign", + "A1 := [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1", + "goal_id": 1590 + }, + { "goal_text": "!", "goal_id": 1591 }, + { + "goal_text": "std.do!\n [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "goal_id": 1592 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 407, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1590, + "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1", + "goal_id": 1593 + }, + { + "goal_text": "coq.subst-prod [c0] X177^1 X178^1", + "goal_id": 1594 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 407, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 408, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1593, + "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1", + "current_goal_predicate": "coq.subst-prod", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]" + ], + [ + "Assign", + "X177^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1595 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "step_id": 408, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 407, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 409, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1595, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1", + "goal_id": 1593 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 38, + "column": 0, + "character": 1438 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 410, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1594, + "current_goal_text": "coq.subst-prod [c0] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X178^1", + "current_goal_predicate": "coq.subst-prod", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 37, + "column": 0, + "character": 1368 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := []" ], + [ + "Assign", + "A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]" + ], + [ "Assign", "A3 := X178^1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1596 }, + { + "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1", + "goal_id": 1597 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 37, + "column": 0, + "character": 1368 + } + ] + } + ], + "step_id": 410, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 407, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 411, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1596, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [c0] X177^1 X178^1", + "goal_id": 1594 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 38, + "column": 0, + "character": 1438 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [c0] X177^1 X178^1", + "goal_id": 1594 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error-w-data subst-prod: not a product A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 39, + "column": 0, + "character": 1505 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 412, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1597, + "current_goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1", + "current_goal_predicate": "coq.subst-prod", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" + ], + [ + "Assign", + "X178^1 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1598 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "step_id": 412, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 37, + "column": 0, + "character": 1368 + } + ] + } + ], + "step_id": 410, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 407, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 413, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1598, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1", + "goal_id": 1597 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 38, + "column": 0, + "character": 1438 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 414, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1591, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 415, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1592, + "current_goal_text": "std.do!\n [std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins", + "goal_id": 1599 + }, + { "goal_text": "!", "goal_id": 1600 }, + { "goal_text": "std.do! []", "goal_id": 1601 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 416, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1599, + "current_goal_text": "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins", + "current_goal_predicate": "std.assert!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1" + ], + [ + "Assign", + "A1 := The conclusion of a builder is a mixin whose parameters depend on other mixins" + ] + ] + }, + "siblings": [ + { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)", + "goal_id": 1602 + }, + { "goal_text": "!", "goal_id": 1603 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 417, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1602, + "current_goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1" + ] + ] + }, + "siblings": [ + { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1604 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 418, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1604, + "current_goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "current_goal_predicate": "extract-conclusion-params", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Assign", + "A1 := app [global (const «IsSelfA'.phant_axioms»), c0]" + ], + [ + "Assign", + "A2 := c1 \\\napp\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" + ], + [ "Assign", "A3 := X175^1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1605 }, + { + "goal_text": "pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1606 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 419, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1605, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1604 + }, + "cut_branch": { + "rule_text": "(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 117, + "column": 0, + "character": 4090 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1604 + }, + "cut_branch": { + "rule_text": "(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 122, + "column": 0, + "character": 4303 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 420, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1606, + "current_goal_text": "pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1607 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 421, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1607, + "current_goal_text": "decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1608 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 422, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1608, + "current_goal_text": "extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "current_goal_predicate": "extract-conclusion-params", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Fail", + "match\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] with\n prod _ A1 A2" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 117, + "column": 0, + "character": 4090 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "A2 := [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" + ], + [ "Assign", "A3 := X175^1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1609 }, + { + "goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", + "goal_id": 1610 + }, + { + "goal_text": "factory-nparams X181^2 X182^2", + "goal_id": 1611 + }, + { + "goal_text": "std.map\n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X183^2", + "goal_id": 1612 + }, + { + "goal_text": "std.spy (std.take X182^2 X183^2 X175^1)", + "goal_id": 1613 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 423, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1609, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", + "goal_id": 1608 + }, + "cut_branch": { + "rule_text": "(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 122, + "column": 0, + "character": 4303 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 424, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1610, + "current_goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA.axioms_»" ], + [ "Assign", "A1 := X181^2" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev X181^2 (indt «IsSelfA.axioms_») _", + "goal_id": 1614 + }, + { "goal_text": "!", "goal_id": 1615 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 426 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 424, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 425, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1614, + "current_goal_text": "phant-abbrev X181^2 (indt «IsSelfA.axioms_») _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indt «HasA.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «HasA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indc «HasA.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «HasA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indt «HasB.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «HasB.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indc «HasB.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «HasB.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indt «IsSelfA.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indc «IsSelfA.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indt «IsSelfA'.axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X181^2 := indc «IsSelfA'.Axioms_»" ], + [ + "Fail", + "unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_Build»" + ] + ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 425, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 424, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 426, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1610, + "current_goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «IsSelfA.axioms_»" ], + [ "Assign", "X181^2 := indt «IsSelfA.axioms_»" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev (indt «IsSelfA.axioms_») _ _", + "goal_id": 1616 + }, + { "goal_text": "!", "goal_id": 1617 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 426, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 427, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1616, + "current_goal_text": "phant-abbrev (indt «IsSelfA.axioms_») _ _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA.axioms_» with indt «HasB.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 427, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 426, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 428, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1617, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "phant-abbrev (indt «IsSelfA.axioms_») _ _", + "goal_id": 1616 + }, + "cut_branch": { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", + "goal_id": 1610 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", + "goal_id": 1610 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", + "goal_id": 1610 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 429, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1611, + "current_goal_text": "factory-nparams (indt «IsSelfA.axioms_») X182^2", + "current_goal_predicate": "factory-nparams", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasA.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «A.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", "unify indt «IsSelfA.axioms_» with indt «A.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasB.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", + "unify indt «IsSelfA.axioms_» with indt «HasB.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «B.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", "unify indt «IsSelfA.axioms_» with indt «B.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «IsSelfA.axioms_») 0) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ [ "Assign", "X182^2 := 0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasA.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 429, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 430, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1612, + "current_goal_text": "std.map\n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X183^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Assign", + "A1 := [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" + ], + [ "Assign", "A2 := copy-pack-holes c0" ], + [ "Assign", "X183^2 := [X184^2 | X185^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy-pack-holes c0 c0 X184^2", + "goal_id": 1618 + }, + { + "goal_text": "std.map\n [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X185^2", + "goal_id": 1619 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 431, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1618, + "current_goal_text": "copy-pack-holes c0 c0 X184^2", + "current_goal_predicate": "copy-pack-holes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := c0" ], + [ "Assign", "A2 := X184^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall-local-canonical X186^2", + "goal_id": 1620 + }, + { + "goal_text": "coq.copy-clauses-for-unfold X186^2 X187^2", + "goal_id": 1621 + }, + { + "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X188^2 | c6] c3) | X187^2]\n => copy c0 X184^2", + "goal_id": 1622 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 432, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1620, + "current_goal_text": "findall-local-canonical X186^2", + "current_goal_predicate": "findall-local-canonical", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X186^2" ] ] + }, + "siblings": [ + { + "goal_text": "std.findall (local-canonical X189^2) X190^2", + "goal_id": 1623 + }, + { + "goal_text": "std.map X190^2 local-canonical-gref X186^2", + "goal_id": 1624 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 432, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 433, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1623, + "current_goal_text": "std.findall (local-canonical X189^2) X190^2", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := local-canonical X189^2" ], + [ "Assign", "A1 := X190^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall_solutions (local-canonical X189^2) X190^2", + "goal_id": 1625 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 433, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 432, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 434, + "runtime_id": 8, + "step": [ + "Findall", + { + "findall_goal_id": 1625, + "findall_goal_text": "findall_solutions (local-canonical X189^2) X190^2", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 11, + "step": [ + "Init", + { "goal_text": "local-canonical X0^2", "goal_id": 1627 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 11, + "step": [ + "Inference", + { + "current_goal_id": 1627, + "current_goal_text": "local-canonical X0^2", + "current_goal_predicate": "local-canonical", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [] + } + ], + "color": "Red" + } + ], + "findall_solution_text": [ "X190^2 := []" ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 434, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 433, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 432, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 435, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1624, + "current_goal_text": "std.map [] local-canonical-gref X186^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X186^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 435, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 432, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 436, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1621, + "current_goal_text": "coq.copy-clauses-for-unfold [] X187^2", + "current_goal_predicate": "coq.copy-clauses-for-unfold", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "events": [ [ "Assign", "X187^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "step_id": 436, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 437, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1622, + "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X188^2 | c6] c3)] =>\n copy c0 X184^2", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "copy c0 X184^2", "goal_id": 1628 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 437, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 438, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1628, + "current_goal_text": "copy c0 X184^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X184^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c0", "goal_id": 1629 }, + { "goal_text": "!", "goal_id": 1630 }, + { "goal_text": "c0 = X184^2", "goal_id": 1631 }, + { "goal_text": "!", "goal_id": 1632 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 438, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 437, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 439, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1629, + "current_goal_text": "name c0", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1633 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 439, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 438, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 437, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 440, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1633, + "current_goal_text": "c0 = c0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 440, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 439, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 438, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 437, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 441, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1630, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 442, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1631, + "current_goal_text": "c0 = X184^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X184 c0 c1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 442, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 438, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 437, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 431, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 443, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1632, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 444, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1619, + "current_goal_text": "std.map\n [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X185^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" + ], + [ + "Assign", + "A1 := [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" + ], + [ "Assign", "A2 := copy-pack-holes c0" ], + [ "Assign", "X185^2 := [X191^2 | X192^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) X191^2", + "goal_id": 1634 + }, + { + "goal_text": "std.map [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X192^2", + "goal_id": 1635 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 445, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1634, + "current_goal_text": "copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) X191^2", + "current_goal_predicate": "copy-pack-holes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Assign", + "A1 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" + ], + [ "Assign", "A2 := X191^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall-local-canonical X193^2", + "goal_id": 1636 + }, + { + "goal_text": "coq.copy-clauses-for-unfold X193^2 X194^2", + "goal_id": 1637 + }, + { + "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X195^2 | c6] c3) | X194^2]\n =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2", + "goal_id": 1638 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 446, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1636, + "current_goal_text": "findall-local-canonical X193^2", + "current_goal_predicate": "findall-local-canonical", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X193^2" ] ] + }, + "siblings": [ + { + "goal_text": "std.findall (local-canonical X196^2) X197^2", + "goal_id": 1639 + }, + { + "goal_text": "std.map X197^2 local-canonical-gref X193^2", + "goal_id": 1640 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 446, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 447, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1639, + "current_goal_text": "std.findall (local-canonical X196^2) X197^2", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := local-canonical X196^2" ], + [ "Assign", "A1 := X197^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall_solutions (local-canonical X196^2) X197^2", + "goal_id": 1641 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 447, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 446, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 448, + "runtime_id": 8, + "step": [ + "Findall", + { + "findall_goal_id": 1641, + "findall_goal_text": "findall_solutions (local-canonical X196^2) X197^2", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 12, + "step": [ + "Init", + { "goal_text": "local-canonical X0^2", "goal_id": 1643 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 12, + "step": [ + "Inference", + { + "current_goal_id": 1643, + "current_goal_text": "local-canonical X0^2", + "current_goal_predicate": "local-canonical", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [] + } + ], + "color": "Red" + } + ], + "findall_solution_text": [ "X197^2 := []" ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 448, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 447, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 446, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 449, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1640, + "current_goal_text": "std.map [] local-canonical-gref X193^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X193^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 449, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 446, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 450, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1637, + "current_goal_text": "coq.copy-clauses-for-unfold [] X194^2", + "current_goal_predicate": "coq.copy-clauses-for-unfold", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "events": [ [ "Assign", "X194^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "step_id": 450, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 451, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1638, + "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X195^2 | c6] c3)] =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2", + "goal_id": 1644 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 452, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1644, + "current_goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1).", + "rule_loc": [ "Context", 451 ] + } + ], + "events": [ + [ + "Assign", "A5 := const «Builders_18.HB_unnamed_factory_20»" + ], + [ "Assign", "A0 := [c0, c1]" ], + [ + "Assign", + "X191^2 := app [global (const «Builders_18.HB_unnamed_factory_20») | X198^2]" + ] + ] + }, + "siblings": [ + { + "goal_text": "pack? (const «Builders_18.HB_unnamed_factory_20») _", + "goal_id": 1645 + }, + { "goal_text": "!", "goal_id": 1646 }, + { + "goal_text": "std.rev [c0, c1] [X199^2, c0 | X200^2]", + "goal_id": 1647 + }, + { "goal_text": "copy c0 X195^2", "goal_id": 1648 }, + { "goal_text": "std.map X200^2 copy X201^2", "goal_id": 1649 }, + { + "goal_text": "std.rev [global (const «elpi.hole»), X195^2 | X201^2] X198^2", + "goal_id": 1650 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 454, 456 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1).", + "rule_loc": [ "Context", 451 ] + } + ], + "step_id": 452, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 453, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1645, + "current_goal_text": "pack? (const «Builders_18.HB_unnamed_factory_20») _", + "current_goal_predicate": "pack?", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1).", + "rule_loc": [ "Context", 451 ] + } + ], + "step_id": 452, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 454, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1644, + "current_goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" + ], + [ "Assign", "A1 := X191^2" ] + ] + }, + "siblings": [ + { + "goal_text": "name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])", + "goal_id": 1651 + }, + { "goal_text": "!", "goal_id": 1652 }, + { + "goal_text": "app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] = X191^2", + "goal_id": 1653 + }, + { "goal_text": "!", "goal_id": 1654 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 456 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 454, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 455, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1651, + "current_goal_text": "name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])", + "current_goal_predicate": "name", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 455, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 454, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 456, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1644, + "current_goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" + ], + [ "Assign", "X191^2 := app X202^2" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1655 }, + { + "goal_text": "std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2", + "goal_id": 1656 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 457, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1655, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 458, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1656, + "current_goal_text": "std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_20»)" + ], + [ "Assign", "A1 := [c0, c1]" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X202^2 := [X203^2 | X204^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2", + "goal_id": 1657 + }, + { + "goal_text": "std.map [c0, c1] copy X204^2", + "goal_id": 1658 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 459, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1657, + "current_goal_text": "copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_20»)" + ], + [ "Assign", "A1 := X203^2" ] + ] + }, + "siblings": [ + { + "goal_text": "name (global (const «Builders_18.HB_unnamed_factory_20»))", + "goal_id": 1659 + }, + { "goal_text": "!", "goal_id": 1660 }, + { + "goal_text": "global (const «Builders_18.HB_unnamed_factory_20») = X203^2", + "goal_id": 1661 + }, + { "goal_text": "!", "goal_id": 1662 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 461 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 459, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 460, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1659, + "current_goal_text": "name (global (const «Builders_18.HB_unnamed_factory_20»))", + "current_goal_predicate": "name", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 460, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 459, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 461, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1657, + "current_goal_text": "copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (as (global _) A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 111, + "column": 0, + "character": 4402 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_20»)" + ], + [ + "Assign", + "X203^2 := global (const «Builders_18.HB_unnamed_factory_20»)" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1663 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (as (global _) A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 111, + "column": 0, + "character": 4402 + } + ] + } + ], + "step_id": 461, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 462, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1663, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 463, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1658, + "current_goal_text": "std.map [c0, c1] copy X204^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := [c1]" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X204^2 := [X205^2 | X206^2]" ] + ] + }, + "siblings": [ + { "goal_text": "copy c0 X205^2", "goal_id": 1664 }, + { "goal_text": "std.map [c1] copy X206^2", "goal_id": 1665 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 464, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1664, + "current_goal_text": "copy c0 X205^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X205^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c0", "goal_id": 1666 }, + { "goal_text": "!", "goal_id": 1667 }, + { "goal_text": "c0 = X205^2", "goal_id": 1668 }, + { "goal_text": "!", "goal_id": 1669 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 464, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 465, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1666, + "current_goal_text": "name c0", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1670 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 465, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 464, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 466, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1670, + "current_goal_text": "c0 = c0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 466, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 465, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 464, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 467, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1667, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 468, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1668, + "current_goal_text": "c0 = X205^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X205 c0 c1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 468, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 464, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 469, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1669, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 470, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1665, + "current_goal_text": "std.map [c1] copy X206^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c1" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X206^2 := [X207^2 | X208^2]" ] + ] + }, + "siblings": [ + { "goal_text": "copy c1 X207^2", "goal_id": 1671 }, + { "goal_text": "std.map [] copy X208^2", "goal_id": 1672 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 470, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 471, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1671, + "current_goal_text": "copy c1 X207^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c1" ], [ "Assign", "A1 := X207^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c1", "goal_id": 1673 }, + { "goal_text": "!", "goal_id": 1674 }, + { "goal_text": "c1 = X207^2", "goal_id": 1675 }, + { "goal_text": "!", "goal_id": 1676 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 471, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 470, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 472, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1673, + "current_goal_text": "name c1", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c1 = c1", "goal_id": 1677 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 472, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 471, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 470, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 473, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1677, + "current_goal_text": "c1 = c1", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 473, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 472, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 471, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 470, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 474, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1674, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 475, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1675, + "current_goal_text": "c1 = X207^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X207 c0 c1 := c1" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 475, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 471, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 470, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 476, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1676, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 477, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1672, + "current_goal_text": "std.map [] copy X208^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X208^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 477, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 470, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 463, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 458, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 456, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 451, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 445, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 478, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1635, + "current_goal_text": "std.map [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X192^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" + ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := copy-pack-holes c0" ], + [ "Assign", "X192^2 := [X209^2 | X210^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) X209^2", + "goal_id": 1678 + }, + { + "goal_text": "std.map [] (copy-pack-holes c0) X210^2", + "goal_id": 1679 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 479, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1678, + "current_goal_text": "copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) X209^2", + "current_goal_predicate": "copy-pack-holes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Assign", + "A1 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" + ], + [ "Assign", "A2 := X209^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall-local-canonical X211^2", + "goal_id": 1680 + }, + { + "goal_text": "coq.copy-clauses-for-unfold X211^2 X212^2", + "goal_id": 1681 + }, + { + "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X213^2 | c6] c3) | X212^2]\n =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2", + "goal_id": 1682 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 480, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1680, + "current_goal_text": "findall-local-canonical X211^2", + "current_goal_predicate": "findall-local-canonical", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X211^2" ] ] + }, + "siblings": [ + { + "goal_text": "std.findall (local-canonical X214^2) X215^2", + "goal_id": 1683 + }, + { + "goal_text": "std.map X215^2 local-canonical-gref X211^2", + "goal_id": 1684 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 480, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 481, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1683, + "current_goal_text": "std.findall (local-canonical X214^2) X215^2", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := local-canonical X214^2" ], + [ "Assign", "A1 := X215^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall_solutions (local-canonical X214^2) X215^2", + "goal_id": 1685 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 481, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 480, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 482, + "runtime_id": 8, + "step": [ + "Findall", + { + "findall_goal_id": 1685, + "findall_goal_text": "findall_solutions (local-canonical X214^2) X215^2", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 13, + "step": [ + "Init", + { "goal_text": "local-canonical X0^2", "goal_id": 1687 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 13, + "step": [ + "Inference", + { + "current_goal_id": 1687, + "current_goal_text": "local-canonical X0^2", + "current_goal_predicate": "local-canonical", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [] + } + ], + "color": "Red" + } + ], + "findall_solution_text": [ "X215^2 := []" ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 482, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 481, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 480, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 483, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1684, + "current_goal_text": "std.map [] local-canonical-gref X211^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X211^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 483, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 480, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 484, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1681, + "current_goal_text": "coq.copy-clauses-for-unfold [] X212^2", + "current_goal_predicate": "coq.copy-clauses-for-unfold", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "events": [ [ "Assign", "X212^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "step_id": 484, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 485, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1682, + "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X213^2 | c6] c3)] =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2", + "goal_id": 1688 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 486, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1688, + "current_goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1).", + "rule_loc": [ "Context", 485 ] + } + ], + "events": [ + [ + "Assign", "A5 := const «Builders_18.HB_unnamed_factory_22»" + ], + [ "Assign", "A0 := [c0, c1]" ], + [ + "Assign", + "X209^2 := app [global (const «Builders_18.HB_unnamed_factory_22») | X216^2]" + ] + ] + }, + "siblings": [ + { + "goal_text": "pack? (const «Builders_18.HB_unnamed_factory_22») _", + "goal_id": 1689 + }, + { "goal_text": "!", "goal_id": 1690 }, + { + "goal_text": "std.rev [c0, c1] [X217^2, c0 | X218^2]", + "goal_id": 1691 + }, + { "goal_text": "copy c0 X213^2", "goal_id": 1692 }, + { "goal_text": "std.map X218^2 copy X219^2", "goal_id": 1693 }, + { + "goal_text": "std.rev [global (const «elpi.hole»), X213^2 | X219^2] X216^2", + "goal_id": 1694 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 488, 490 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1).", + "rule_loc": [ "Context", 485 ] + } + ], + "step_id": 486, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 487, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1689, + "current_goal_text": "pack? (const «Builders_18.HB_unnamed_factory_22») _", + "current_goal_predicate": "pack?", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1).", + "rule_loc": [ "Context", 485 ] + } + ], + "step_id": 486, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 488, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1688, + "current_goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" + ], + [ "Assign", "A1 := X209^2" ] + ] + }, + "siblings": [ + { + "goal_text": "name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])", + "goal_id": 1695 + }, + { "goal_text": "!", "goal_id": 1696 }, + { + "goal_text": "app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] = X209^2", + "goal_id": 1697 + }, + { "goal_text": "!", "goal_id": 1698 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 490 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 488, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 489, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1695, + "current_goal_text": "name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])", + "current_goal_predicate": "name", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 489, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 488, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 490, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1688, + "current_goal_text": "copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" + ], + [ "Assign", "X209^2 := app X220^2" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1699 }, + { + "goal_text": "std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2", + "goal_id": 1700 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 491, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1699, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 492, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1700, + "current_goal_text": "std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ "Assign", "A1 := [c0, c1]" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X220^2 := [X221^2 | X222^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2", + "goal_id": 1701 + }, + { + "goal_text": "std.map [c0, c1] copy X222^2", + "goal_id": 1702 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 493, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1701, + "current_goal_text": "copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ "Assign", "A1 := X221^2" ] + ] + }, + "siblings": [ + { + "goal_text": "name (global (const «Builders_18.HB_unnamed_factory_22»))", + "goal_id": 1703 + }, + { "goal_text": "!", "goal_id": 1704 }, + { + "goal_text": "global (const «Builders_18.HB_unnamed_factory_22») = X221^2", + "goal_id": 1705 + }, + { "goal_text": "!", "goal_id": 1706 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 495 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 493, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 494, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1703, + "current_goal_text": "name (global (const «Builders_18.HB_unnamed_factory_22»))", + "current_goal_predicate": "name", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 494, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 493, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 495, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1701, + "current_goal_text": "copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (as (global _) A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 111, + "column": 0, + "character": 4402 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ + "Assign", + "X221^2 := global (const «Builders_18.HB_unnamed_factory_22»)" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1707 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (as (global _) A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 111, + "column": 0, + "character": 4402 + } + ] + } + ], + "step_id": 495, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 496, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1707, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 497, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1702, + "current_goal_text": "std.map [c0, c1] copy X222^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := [c1]" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X222^2 := [X223^2 | X224^2]" ] + ] + }, + "siblings": [ + { "goal_text": "copy c0 X223^2", "goal_id": 1708 }, + { "goal_text": "std.map [c1] copy X224^2", "goal_id": 1709 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 498, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1708, + "current_goal_text": "copy c0 X223^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X223^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c0", "goal_id": 1710 }, + { "goal_text": "!", "goal_id": 1711 }, + { "goal_text": "c0 = X223^2", "goal_id": 1712 }, + { "goal_text": "!", "goal_id": 1713 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 498, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 499, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1710, + "current_goal_text": "name c0", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1714 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 499, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 498, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 500, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1714, + "current_goal_text": "c0 = c0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 500, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 499, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 498, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 501, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1711, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 502, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1712, + "current_goal_text": "c0 = X223^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X223 c0 c1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 502, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 498, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 503, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1713, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 504, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1709, + "current_goal_text": "std.map [c1] copy X224^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c1" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X224^2 := [X225^2 | X226^2]" ] + ] + }, + "siblings": [ + { "goal_text": "copy c1 X225^2", "goal_id": 1715 }, + { "goal_text": "std.map [] copy X226^2", "goal_id": 1716 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 504, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 505, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1715, + "current_goal_text": "copy c1 X225^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c1" ], [ "Assign", "A1 := X225^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c1", "goal_id": 1717 }, + { "goal_text": "!", "goal_id": 1718 }, + { "goal_text": "c1 = X225^2", "goal_id": 1719 }, + { "goal_text": "!", "goal_id": 1720 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 505, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 504, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 506, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1717, + "current_goal_text": "name c1", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c1 = c1", "goal_id": 1721 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 506, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 505, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 504, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 507, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1721, + "current_goal_text": "c1 = c1", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 507, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 506, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 505, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 504, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 508, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1718, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 509, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1719, + "current_goal_text": "c1 = X225^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X225 c0 c1 := c1" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 509, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 505, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 504, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 510, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1720, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 511, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1716, + "current_goal_text": "std.map [] copy X226^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X226^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 511, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 504, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 497, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 492, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 490, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 485, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 479, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 512, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1679, + "current_goal_text": "std.map [] (copy-pack-holes c0) X210^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X210^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 512, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 478, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 444, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 430, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 513, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1613, + "current_goal_text": "std.spy\n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "current_goal_predicate": "std.spy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1" + ] + ] + }, + "siblings": [ + { "goal_text": "trace.counter run X227^2", "goal_id": 1722 }, + { + "goal_text": "if (not (X227^2 = 0)) (std.debug-print run= X227^2) true", + "goal_id": 1723 + }, + { + "goal_text": "std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "goal_id": 1724 + }, + { + "goal_text": "std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1", + "goal_id": 1725 + }, + { + "goal_text": "std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "goal_id": 1726 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 514, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1722, + "current_goal_text": "trace.counter run X227^2", + "current_goal_predicate": "trace.counter", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "trace.counter", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "X227^2 = 0", "goal_id": 1727 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "trace.counter", "kind": "FFI", "payload": [] } + ], + "step_id": 514, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 515, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1727, + "current_goal_text": "X227^2 = 0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X227^2 := 0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 515, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "trace.counter", "kind": "FFI", "payload": [] } + ], + "step_id": 514, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 516, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1723, + "current_goal_text": "if (not (0 = 0)) (std.debug-print run= 0) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := not (0 = 0)" ], + [ "Assign", "A1 := std.debug-print run= 0" ] + ] + }, + "siblings": [ + { "goal_text": "not (0 = 0)", "goal_id": 1728 }, + { "goal_text": "!", "goal_id": 1729 }, + { "goal_text": "std.debug-print run= 0", "goal_id": 1730 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 521 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 516, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 517, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1728, + "current_goal_text": "not (0 = 0)", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "events": [ [ "Assign", "A0 := 0 = 0" ] ] + }, + "siblings": [ + { "goal_text": "0 = 0", "goal_id": 1731 }, + { "goal_text": "!", "goal_id": 1732 }, + { "goal_text": "fail", "goal_id": 1733 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 517, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 516, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 518, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1731, + "current_goal_text": "0 = 0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 518, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 517, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 516, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 519, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1732, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "not (0 = 0)", + "goal_id": 1728 + }, + "cut_branch": { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 54, + "column": 0, + "character": 631 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 520, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1733, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 517, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 516, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 521, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1723, + "current_goal_text": "if (not (0 = 0)) (std.debug-print run= 0) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1734 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 521, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 522, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1734, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 522, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 521, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 523, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1724, + "current_goal_text": "std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "current_goal_predicate": "std.debug-print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := ----<<---- enter: " ], + [ + "Assign", + "A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1" + ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1735 }, + { + "goal_text": "coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "goal_id": 1736 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "step_id": 523, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 524, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1735, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "goal_id": 1724 + }, + "cut_branch": { + "rule_text": "(std.debug-print A0 A1) :- (print A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 24, + "column": 0, + "character": 874 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 525, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1736, + "current_goal_text": "coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "current_goal_predicate": "coq.say", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.say", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.say", "kind": "FFI", "payload": [] } + ], + "step_id": 525, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "step_id": 523, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 526, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1725, + "current_goal_text": "std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1", + "current_goal_predicate": "std.take", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.take 0 _ []) :- (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 88, + "column": 0, + "character": 2914 + } + ] + } + ], + "events": [ [ "Assign", "X175^1 := []" ] ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1737 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take 0 _ []) :- (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 88, + "column": 0, + "character": 2914 + } + ] + } + ], + "step_id": 526, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 527, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1737, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1", + "goal_id": 1725 + }, + "cut_branch": { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1", + "goal_id": 1725 + }, + "cut_branch": { + "rule_text": "(std.take _ _ _) :- (std.fatal-error take run out of list items).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 90, + "column": 0, + "character": 2985 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 528, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1726, + "current_goal_text": "std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])", + "current_goal_predicate": "std.debug-print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := ---->>---- exit: " ], + [ + "Assign", + "A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n []" + ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1738 }, + { + "goal_text": "coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])", + "goal_id": 1739 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "step_id": 528, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 529, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1738, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", + "goal_id": 1726 + }, + "cut_branch": { + "rule_text": "(std.debug-print A0 A1) :- (print A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 24, + "column": 0, + "character": 874 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 530, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1739, + "current_goal_text": "coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])", + "current_goal_predicate": "coq.say", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.say", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.say", "kind": "FFI", "payload": [] } + ], + "step_id": 530, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "step_id": 528, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 513, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 422, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 421, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 420, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 418, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 417, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 416, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 531, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1603, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.spy (std.take X182^2 X183^2 X175^1)", + "goal_id": 1613 + }, + "cut_branch": { + "rule_text": "(std.spy A0) :- (std.debug-print ---->>---- fail: A0), fail.", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 49, + "column": 0, + "character": 1863 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-nparams X181^2 X182^2", + "goal_id": 1611 + }, + "cut_branch": { + "rule_text": "(factory-nparams (indt «SelfA.axioms_») 0) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-nparams X181^2 X182^2", + "goal_id": 1611 + }, + "cut_branch": { + "rule_text": "(factory-nparams (indt «IsSelfA'.axioms_») 0) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)", + "goal_id": 1602 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 532, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1600, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 533, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1601, + "current_goal_text": "std.do! []", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 255, + "column": 0, + "character": 8595 + } + ] + } + ], + "step_id": 533, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 415, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 406, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 396, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 395, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 534, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1578, + "current_goal_text": "std.map2\n [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasB.axioms_», indt «HasA.axioms_»] (factory-provides.one [] c0) \n X174^1", + "current_goal_predicate": "std.map2", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ + "Assign", + "A1 := [global (const «Builders_18.HB_unnamed_factory_20»)]" + ], + [ "Assign", "A2 := indt «HasB.axioms_»" ], + [ "Assign", "A3 := [indt «HasA.axioms_»]" ], + [ "Assign", "A4 := factory-provides.one [] c0" ], + [ "Assign", "X174^1 := [X228^1 | X229^1]" ] + ] + }, + "siblings": [ + { + "goal_text": "factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_22»)) \n (indt «HasB.axioms_») X228^1", + "goal_id": 1740 + }, + { + "goal_text": "std.map2 [global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasA.axioms_»] (factory-provides.one [] c0) X229^1", + "goal_id": 1741 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 535, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1740, + "current_goal_text": "factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_22»)) \n (indt «HasB.axioms_») X228^1", + "current_goal_predicate": "factory-provides.one", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := c0" ], + [ + "Assign", + "A2 := global (const «Builders_18.HB_unnamed_factory_22»)" + ], + [ "Assign", "A3 := indt «HasB.axioms_»" ], + [ + "Assign", + "X228^1 := triple (indt «HasB.axioms_») X230^1 c0" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "goal_id": 1742 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 536, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1742, + "current_goal_text": "std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped" + ], + [ + "Assign", + "A1 := [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]" + ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped", + "goal_id": 1743 + }, + { "goal_text": "!", "goal_id": 1744 }, + { + "goal_text": "std.do!\n [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "goal_id": 1745 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 537, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1743, + "current_goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped", + "current_goal_predicate": "std.assert-ok!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1" + ], + [ "Assign", "A1 := Builder illtyped" ] + ] + }, + "siblings": [ + { + "goal_text": "coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1", + "goal_id": 1746 + }, + { "goal_text": "!", "goal_id": 1747 }, + { + "goal_text": "X234^1 = ok ;\n X234^1 = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1", + "goal_id": 1748 + }, + { "goal_text": "!", "goal_id": 1749 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 537, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 538, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1746, + "current_goal_text": "coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1", + "current_goal_predicate": "coq.typecheck", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]", + "goal_id": 1750 + }, + { "goal_text": "X234^1 = ok", "goal_id": 1751 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 538, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 537, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 539, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1750, + "current_goal_text": "X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ + "Assign", + "X231^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 539, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 538, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 537, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 540, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1751, + "current_goal_text": "X234^1 = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X234^1 := ok" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 540, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + ], + "step_id": 538, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 537, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 541, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1747, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped", + "goal_id": 1743 + }, + "cut_branch": { + "rule_text": "(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 41, + "column": 0, + "character": 1520 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 542, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1748, + "current_goal_text": "ok = ok ; ok = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ [ "Assign", "A0 := ok = ok" ] ] + }, + "siblings": [ { "goal_text": "ok = ok", "goal_id": 1752 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 542, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 537, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 543, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1752, + "current_goal_text": "ok = ok", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 543, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 542, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 40, + "column": 0, + "character": 1406 + } + ] + } + ], + "step_id": 537, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 544, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1749, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "X234^1 = ok ;\n X234^1 = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1", + "goal_id": 1748 + }, + "cut_branch": { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 30, + "column": 0, + "character": 311 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 545, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1744, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 546, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1745, + "current_goal_text": "std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1" + ], + [ + "Assign", + "A1 := [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]" + ] + ] + }, + "siblings": [ + { + "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1", + "goal_id": 1753 + }, + { "goal_text": "!", "goal_id": 1754 }, + { + "goal_text": "std.do!\n [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "goal_id": 1755 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 547, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1753, + "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1", + "goal_id": 1756 + }, + { + "goal_text": "coq.subst-prod [c0] X232^1 X233^1", + "goal_id": 1757 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 547, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 548, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1756, + "current_goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1", + "current_goal_predicate": "coq.subst-prod", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]" + ], + [ + "Assign", + "X232^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1758 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "step_id": 548, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 547, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 549, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1758, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1", + "goal_id": 1756 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 38, + "column": 0, + "character": 1438 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 550, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1757, + "current_goal_text": "coq.subst-prod [c0] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X233^1", + "current_goal_predicate": "coq.subst-prod", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 37, + "column": 0, + "character": 1368 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := []" ], + [ + "Assign", + "A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]" + ], + [ "Assign", "A3 := X233^1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1759 }, + { + "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1", + "goal_id": 1760 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 37, + "column": 0, + "character": 1368 + } + ] + } + ], + "step_id": 550, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 547, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 551, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1759, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [c0] X232^1 X233^1", + "goal_id": 1757 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 38, + "column": 0, + "character": 1438 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [c0] X232^1 X233^1", + "goal_id": 1757 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error-w-data subst-prod: not a product A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 39, + "column": 0, + "character": 1505 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 552, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1760, + "current_goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1", + "current_goal_predicate": "coq.subst-prod", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]" + ], + [ + "Assign", + "X233^1 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1761 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [] A0 A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 36, + "column": 0, + "character": 1340 + } + ] + } + ], + "step_id": 552, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 37, + "column": 0, + "character": 1368 + } + ] + } + ], + "step_id": 550, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 547, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 553, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1761, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1", + "goal_id": 1760 + }, + "cut_branch": { + "rule_text": "(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 38, + "column": 0, + "character": 1438 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 554, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1754, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 555, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1755, + "current_goal_text": "std.do!\n [std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", + "current_goal_predicate": "std.do!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins" + ], + [ "Assign", "A1 := []" ] + ] + }, + "siblings": [ + { + "goal_text": "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins", + "goal_id": 1762 + }, + { "goal_text": "!", "goal_id": 1763 }, + { "goal_text": "std.do! []", "goal_id": 1764 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 556, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1762, + "current_goal_text": "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins", + "current_goal_predicate": "std.assert!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1" + ], + [ + "Assign", + "A1 := The conclusion of a builder is a mixin whose parameters depend on other mixins" + ] + ] + }, + "siblings": [ + { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)", + "goal_id": 1765 + }, + { "goal_text": "!", "goal_id": 1766 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 557, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1765, + "current_goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1" + ] + ] + }, + "siblings": [ + { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1767 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 558, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1767, + "current_goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "current_goal_predicate": "extract-conclusion-params", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Assign", + "A1 := app [global (const «IsSelfA'.phant_axioms»), c0]" + ], + [ + "Assign", + "A2 := c1 \\\napp\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]" + ], + [ "Assign", "A3 := X230^1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1768 }, + { + "goal_text": "pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1769 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 559, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1768, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1767 + }, + "cut_branch": { + "rule_text": "(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 117, + "column": 0, + "character": 4090 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1767 + }, + "cut_branch": { + "rule_text": "(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 122, + "column": 0, + "character": 4303 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 560, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1769, + "current_goal_text": "pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1770 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 561, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1770, + "current_goal_text": "decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1771 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 562, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1771, + "current_goal_text": "extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "current_goal_predicate": "extract-conclusion-params", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Fail", + "match\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] with prod _ A1 A2" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 117, + "column": 0, + "character": 4090 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := indt «HasB.axioms_»" ], + [ + "Assign", + "A2 := [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]" + ], + [ "Assign", "A3 := X230^1" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1772 }, + { + "goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", + "goal_id": 1773 + }, + { + "goal_text": "factory-nparams X236^2 X237^2", + "goal_id": 1774 + }, + { + "goal_text": "std.map\n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] (copy-pack-holes c0) X238^2", + "goal_id": 1775 + }, + { + "goal_text": "std.spy (std.take X237^2 X238^2 X230^1)", + "goal_id": 1776 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 563, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1772, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", + "goal_id": 1771 + }, + "cut_branch": { + "rule_text": "(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 122, + "column": 0, + "character": 4303 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 564, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1773, + "current_goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «HasB.axioms_»" ], + [ "Assign", "A1 := X236^2" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev X236^2 (indt «HasB.axioms_») _", + "goal_id": 1777 + }, + { "goal_text": "!", "goal_id": 1778 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 566 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 564, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 565, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1777, + "current_goal_text": "phant-abbrev X236^2 (indt «HasB.axioms_») _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indt «HasA.axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «HasA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indc «HasA.Axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «HasA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indt «HasB.axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «HasB.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indc «HasB.Axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «HasB.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indt «IsSelfA.axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «IsSelfA.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indc «IsSelfA.Axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «IsSelfA.phant_Build»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indt «IsSelfA'.axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «IsSelfA'.phant_axioms»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Assign", "X236^2 := indc «IsSelfA'.Axioms_»" ], + [ + "Fail", + "unify indt «HasB.axioms_» with const «IsSelfA'.phant_Build»" + ] + ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 565, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 74, + "column": 0, + "character": 2385 + } + ] + } + ], + "step_id": 564, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 566, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1773, + "current_goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", + "current_goal_predicate": "factory-alias->gref", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := indt «HasB.axioms_»" ], + [ "Assign", "X236^2 := indt «HasB.axioms_»" ] + ] + }, + "siblings": [ + { + "goal_text": "phant-abbrev (indt «HasB.axioms_») _ _", + "goal_id": 1779 + }, + { "goal_text": "!", "goal_id": 1780 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 566, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 567, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1779, + "current_goal_text": "phant-abbrev (indt «HasB.axioms_») _ _", + "current_goal_predicate": "phant-abbrev", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", "unify indt «HasB.axioms_» with indt «HasA.axioms_»" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 567, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 75, + "column": 0, + "character": 2443 + } + ] + } + ], + "step_id": 566, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 568, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1780, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "phant-abbrev (indt «HasB.axioms_») _ _", + "goal_id": 1779 + }, + "cut_branch": { + "rule_text": "(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "phant-abbrev (indt «HasB.axioms_») _ _", + "goal_id": 1779 + }, + "cut_branch": { + "rule_text": "(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", + "goal_id": 1773 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", + "goal_id": 1773 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", + "goal_id": 1773 + }, + "cut_branch": { + "rule_text": "(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 569, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1774, + "current_goal_text": "factory-nparams (indt «HasB.axioms_») X237^2", + "current_goal_predicate": "factory-nparams", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasA.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ + "Fail", "unify indt «HasB.axioms_» with indt «HasA.axioms_»" + ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «A.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ + [ "Fail", "unify indt «HasB.axioms_» with indt «A.axioms_»" ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasB.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [ [ "Assign", "X237^2 := 1" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-nparams (indt «HasA.axioms_») 1) :- .", + "rule_loc": [ + "File", + { + "filename": "(elpi.add_clause)", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 569, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 570, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1775, + "current_goal_text": "std.map\n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] (copy-pack-holes c0) X238^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" + ], + [ "Assign", "A1 := [c0]" ], + [ "Assign", "A2 := copy-pack-holes c0" ], + [ "Assign", "X238^2 := [X239^2 | X240^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy-pack-holes c0 \n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "goal_id": 1781 + }, + { + "goal_text": "std.map [c0] (copy-pack-holes c0) X240^2", + "goal_id": 1782 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 571, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1781, + "current_goal_text": "copy-pack-holes c0 \n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "current_goal_predicate": "copy-pack-holes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ + "Assign", + "A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" + ], + [ "Assign", "A2 := X239^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall-local-canonical X241^2", + "goal_id": 1783 + }, + { + "goal_text": "coq.copy-clauses-for-unfold X241^2 X242^2", + "goal_id": 1784 + }, + { + "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X243^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X243^2 | c6] c3) | X242^2]\n =>\n copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "goal_id": 1785 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 572, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1783, + "current_goal_text": "findall-local-canonical X241^2", + "current_goal_predicate": "findall-local-canonical", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X241^2" ] ] + }, + "siblings": [ + { + "goal_text": "std.findall (local-canonical X244^2) X245^2", + "goal_id": 1786 + }, + { + "goal_text": "std.map X245^2 local-canonical-gref X241^2", + "goal_id": 1787 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 572, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 573, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1786, + "current_goal_text": "std.findall (local-canonical X244^2) X245^2", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := local-canonical X244^2" ], + [ "Assign", "A1 := X245^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall_solutions (local-canonical X244^2) X245^2", + "goal_id": 1788 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 573, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 572, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 574, + "runtime_id": 8, + "step": [ + "Findall", + { + "findall_goal_id": 1788, + "findall_goal_text": "findall_solutions (local-canonical X244^2) X245^2", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 14, + "step": [ + "Init", + { "goal_text": "local-canonical X0^2", "goal_id": 1790 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 14, + "step": [ + "Inference", + { + "current_goal_id": 1790, + "current_goal_text": "local-canonical X0^2", + "current_goal_predicate": "local-canonical", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [] + } + ], + "color": "Red" + } + ], + "findall_solution_text": [ "X245^2 := []" ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 574, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 573, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 572, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 575, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1787, + "current_goal_text": "std.map [] local-canonical-gref X241^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X241^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 575, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 572, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 576, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1784, + "current_goal_text": "coq.copy-clauses-for-unfold [] X242^2", + "current_goal_predicate": "coq.copy-clauses-for-unfold", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "events": [ [ "Assign", "X242^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "step_id": 576, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 577, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1785, + "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X243^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X243^2 | c6] c3)] =>\n copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "goal_id": 1791 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 578, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1791, + "current_goal_text": "copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1).", + "rule_loc": [ "Context", 577 ] + } + ], + "events": [ + [ + "Assign", + "A5 := const «Builders_18.Builders_18_T__canonical__interleave_context_A»" + ], + [ "Assign", "A0 := [c0, c1]" ], + [ + "Assign", + "X239^2 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A») | X246^2]" + ] + ] + }, + "siblings": [ + { + "goal_text": "pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _", + "goal_id": 1792 + }, + { "goal_text": "!", "goal_id": 1793 }, + { + "goal_text": "std.rev [c0, c1] [X247^2, c0 | X248^2]", + "goal_id": 1794 + }, + { "goal_text": "copy c0 X243^2", "goal_id": 1795 }, + { "goal_text": "std.map X248^2 copy X249^2", "goal_id": 1796 }, + { + "goal_text": "std.rev [global (const «elpi.hole»), X243^2 | X249^2] X246^2", + "goal_id": 1797 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 580, 582 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1).", + "rule_loc": [ "Context", 577 ] + } + ], + "step_id": 578, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 579, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1792, + "current_goal_text": "pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _", + "current_goal_predicate": "pack?", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1).", + "rule_loc": [ "Context", 577 ] + } + ], + "step_id": 578, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 580, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1791, + "current_goal_text": "copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" + ], + [ "Assign", "A1 := X239^2" ] + ] + }, + "siblings": [ + { + "goal_text": "name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])", + "goal_id": 1798 + }, + { "goal_text": "!", "goal_id": 1799 }, + { + "goal_text": "app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] = X239^2", + "goal_id": 1800 + }, + { "goal_text": "!", "goal_id": 1801 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 582 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 580, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 581, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1798, + "current_goal_text": "name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])", + "current_goal_predicate": "name", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 581, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 580, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 582, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1791, + "current_goal_text": "copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" + ], + [ "Assign", "X239^2 := app X250^2" ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1802 }, + { + "goal_text": "std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2", + "goal_id": 1803 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 583, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1802, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 584, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1803, + "current_goal_text": "std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)" + ], + [ "Assign", "A1 := [c0, c1]" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X250^2 := [X251^2 | X252^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2", + "goal_id": 1804 + }, + { + "goal_text": "std.map [c0, c1] copy X252^2", + "goal_id": 1805 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 585, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1804, + "current_goal_text": "copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)" + ], + [ "Assign", "A1 := X251^2" ] + ] + }, + "siblings": [ + { + "goal_text": "name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))", + "goal_id": 1806 + }, + { "goal_text": "!", "goal_id": 1807 }, + { + "goal_text": "global (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)\n = X251^2", + "goal_id": 1808 + }, + { "goal_text": "!", "goal_id": 1809 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 587 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 585, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 586, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1806, + "current_goal_text": "name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))", + "current_goal_predicate": "name", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 586, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 585, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 587, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1804, + "current_goal_text": "copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (as (global _) A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 111, + "column": 0, + "character": 4402 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)" + ], + [ + "Assign", + "X251^2 := global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»)" + ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 1810 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (as (global _) A0) A0) :- (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 111, + "column": 0, + "character": 4402 + } + ] + } + ], + "step_id": 587, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 588, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1810, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 589, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1805, + "current_goal_text": "std.map [c0, c1] copy X252^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := [c1]" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X252^2 := [X253^2 | X254^2]" ] + ] + }, + "siblings": [ + { "goal_text": "copy c0 X253^2", "goal_id": 1811 }, + { "goal_text": "std.map [c1] copy X254^2", "goal_id": 1812 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 590, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1811, + "current_goal_text": "copy c0 X253^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X253^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c0", "goal_id": 1813 }, + { "goal_text": "!", "goal_id": 1814 }, + { "goal_text": "c0 = X253^2", "goal_id": 1815 }, + { "goal_text": "!", "goal_id": 1816 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 590, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 591, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1813, + "current_goal_text": "name c0", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1817 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 591, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 590, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 592, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1817, + "current_goal_text": "c0 = c0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 592, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 591, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 590, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 593, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1814, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 594, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1815, + "current_goal_text": "c0 = X253^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X253 c0 c1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 594, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 590, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 595, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1816, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 596, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1812, + "current_goal_text": "std.map [c1] copy X254^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c1" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := copy" ], + [ "Assign", "X254^2 := [X255^2 | X256^2]" ] + ] + }, + "siblings": [ + { "goal_text": "copy c1 X255^2", "goal_id": 1818 }, + { "goal_text": "std.map [] copy X256^2", "goal_id": 1819 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 596, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 597, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1818, + "current_goal_text": "copy c1 X255^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c1" ], [ "Assign", "A1 := X255^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c1", "goal_id": 1820 }, + { "goal_text": "!", "goal_id": 1821 }, + { "goal_text": "c1 = X255^2", "goal_id": 1822 }, + { "goal_text": "!", "goal_id": 1823 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 597, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 596, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 598, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1820, + "current_goal_text": "name c1", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c1 = c1", "goal_id": 1824 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 598, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 597, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 596, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 599, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1824, + "current_goal_text": "c1 = c1", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 599, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 598, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 597, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 596, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 600, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1821, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 601, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1822, + "current_goal_text": "c1 = X255^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X255 c0 c1 := c1" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 601, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 597, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 596, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 602, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1823, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 603, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1819, + "current_goal_text": "std.map [] copy X256^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X256^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 603, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 596, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 589, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 584, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 119, + "column": 0, + "character": 4703 + } + ] + } + ], + "step_id": 582, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 577, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 571, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 604, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1782, + "current_goal_text": "std.map [c0] (copy-pack-holes c0) X240^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := copy-pack-holes c0" ], + [ "Assign", "X240^2 := [X257^2 | X258^2]" ] + ] + }, + "siblings": [ + { + "goal_text": "copy-pack-holes c0 c0 X257^2", + "goal_id": 1825 + }, + { + "goal_text": "std.map [] (copy-pack-holes c0) X258^2", + "goal_id": 1826 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 605, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1825, + "current_goal_text": "copy-pack-holes c0 c0 X257^2", + "current_goal_predicate": "copy-pack-holes", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A1 := c0" ], + [ "Assign", "A2 := X257^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall-local-canonical X259^2", + "goal_id": 1827 + }, + { + "goal_text": "coq.copy-clauses-for-unfold X259^2 X260^2", + "goal_id": 1828 + }, + { + "goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X261^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X261^2 | c6] c3) | X260^2]\n => copy c0 X257^2", + "goal_id": 1829 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 606, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1827, + "current_goal_text": "findall-local-canonical X259^2", + "current_goal_predicate": "findall-local-canonical", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X259^2" ] ] + }, + "siblings": [ + { + "goal_text": "std.findall (local-canonical X262^2) X263^2", + "goal_id": 1830 + }, + { + "goal_text": "std.map X263^2 local-canonical-gref X259^2", + "goal_id": 1831 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 606, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 607, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1830, + "current_goal_text": "std.findall (local-canonical X262^2) X263^2", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := local-canonical X262^2" ], + [ "Assign", "A1 := X263^2" ] + ] + }, + "siblings": [ + { + "goal_text": "findall_solutions (local-canonical X262^2) X263^2", + "goal_id": 1832 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 607, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 606, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 608, + "runtime_id": 8, + "step": [ + "Findall", + { + "findall_goal_id": 1832, + "findall_goal_text": "findall_solutions (local-canonical X262^2) X263^2", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 15, + "step": [ + "Init", + { "goal_text": "local-canonical X0^2", "goal_id": 1834 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 15, + "step": [ + "Inference", + { + "current_goal_id": 1834, + "current_goal_text": "local-canonical X0^2", + "current_goal_predicate": "local-canonical", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [] + } + ], + "color": "Red" + } + ], + "findall_solution_text": [ "X263^2 := []" ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 608, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 283, + "column": 0, + "character": 9378 + } + ] + } + ], + "step_id": 607, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 606, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 609, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1831, + "current_goal_text": "std.map [] local-canonical-gref X259^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X259^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 609, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 200, + "column": 0, + "character": 7260 + } + ] + } + ], + "step_id": 606, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 610, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1828, + "current_goal_text": "coq.copy-clauses-for-unfold [] X260^2", + "current_goal_predicate": "coq.copy-clauses-for-unfold", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "events": [ [ "Assign", "X260^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(coq.copy-clauses-for-unfold [] []) :- .", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi", + "line": 196, + "column": 0, + "character": 7411 + } + ] + } + ], + "step_id": 610, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 611, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1829, + "current_goal_text": "[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X261^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X261^2 | c6] c3)] =>\n copy c0 X257^2", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "copy c0 X257^2", "goal_id": 1835 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 611, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 612, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1835, + "current_goal_text": "copy c0 X257^2", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X257^2" ] + ] + }, + "siblings": [ + { "goal_text": "name c0", "goal_id": 1836 }, + { "goal_text": "!", "goal_id": 1837 }, + { "goal_text": "c0 = X257^2", "goal_id": 1838 }, + { "goal_text": "!", "goal_id": 1839 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 612, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 611, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 613, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1836, + "current_goal_text": "name c0", + "current_goal_predicate": "name", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "name", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1840 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 613, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 612, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 611, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 614, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1840, + "current_goal_text": "c0 = c0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 614, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + ], + "step_id": 613, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 612, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 611, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 615, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1837, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 616, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1838, + "current_goal_text": "c0 = X257^2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X257 c0 c1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 616, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy A0 A1) :- (name A0), (!), (A0 = A1), (!).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 109, + "column": 0, + "character": 4312 + } + ] + } + ], + "step_id": 612, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 611, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 318, + "column": 0, + "character": 12866 + } + ] + } + ], + "step_id": 605, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 617, + "runtime_id": 8, + "step": [ "Cut", { "cut_goal_id": 1839, "cut_victims": [] } ], + "color": "Grey" + }, + { + "step_id": 618, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1826, + "current_goal_text": "std.map [] (copy-pack-holes c0) X258^2", + "current_goal_predicate": "std.map", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "events": [ [ "Assign", "X258^2 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 123, + "column": 0, + "character": 4084 + } + ] + } + ], + "step_id": 618, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 604, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 124, + "column": 0, + "character": 4097 + } + ] + } + ], + "step_id": 570, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 619, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1776, + "current_goal_text": "std.spy\n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "current_goal_predicate": "std.spy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1" + ] + ] + }, + "siblings": [ + { "goal_text": "trace.counter run X264^2", "goal_id": 1841 }, + { + "goal_text": "if (not (X264^2 = 0)) (std.debug-print run= X264^2) true", + "goal_id": 1842 + }, + { + "goal_text": "std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "goal_id": 1843 + }, + { + "goal_text": "std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1", + "goal_id": 1844 + }, + { + "goal_text": "std.debug-print ---->>---- exit: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "goal_id": 1845 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 620, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1841, + "current_goal_text": "trace.counter run X264^2", + "current_goal_predicate": "trace.counter", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "trace.counter", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "X264^2 = 0", "goal_id": 1846 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "trace.counter", "kind": "FFI", "payload": [] } + ], + "step_id": 620, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 621, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1846, + "current_goal_text": "X264^2 = 0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X264^2 := 0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 621, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "trace.counter", "kind": "FFI", "payload": [] } + ], + "step_id": 620, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 622, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1842, + "current_goal_text": "if (not (0 = 0)) (std.debug-print run= 0) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := not (0 = 0)" ], + [ "Assign", "A1 := std.debug-print run= 0" ] + ] + }, + "siblings": [ + { "goal_text": "not (0 = 0)", "goal_id": 1847 }, + { "goal_text": "!", "goal_id": 1848 }, + { "goal_text": "std.debug-print run= 0", "goal_id": 1849 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 627 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 622, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 623, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1847, + "current_goal_text": "not (0 = 0)", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "events": [ [ "Assign", "A0 := 0 = 0" ] ] + }, + "siblings": [ + { "goal_text": "0 = 0", "goal_id": 1850 }, + { "goal_text": "!", "goal_id": 1851 }, + { "goal_text": "fail", "goal_id": 1852 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 623, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 622, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 624, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1850, + "current_goal_text": "0 = 0", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 624, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 623, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 622, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 625, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1851, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "not (0 = 0)", + "goal_id": 1847 + }, + "cut_branch": { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 54, + "column": 0, + "character": 631 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 626, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1852, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, (!), fail.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 52, + "column": 0, + "character": 609 + } + ] + } + ], + "step_id": 623, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, (!), A1.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 404, + "column": 0, + "character": 9190 + } + ] + } + ], + "step_id": 622, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 627, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1842, + "current_goal_text": "if (not (0 = 0)) (std.debug-print run= 0) true", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 1853 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 627, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 628, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1853, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 9, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 628, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 405, + "column": 0, + "character": 9211 + } + ] + } + ], + "step_id": 627, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 629, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1843, + "current_goal_text": "std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "current_goal_predicate": "std.debug-print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := ----<<---- enter: " ], + [ + "Assign", + "A1 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1" + ] + ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1854 }, + { + "goal_text": "coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "goal_id": 1855 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "step_id": 629, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 630, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1854, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "goal_id": 1843 + }, + "cut_branch": { + "rule_text": "(std.debug-print A0 A1) :- (print A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 24, + "column": 0, + "character": 874 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 631, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1855, + "current_goal_text": "coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", + "current_goal_predicate": "coq.say", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "coq.say", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "coq.say", "kind": "FFI", "payload": [] } + ], + "step_id": 631, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.debug-print A0 A1) :- (!), (coq.say A0 A1).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 17, + "column": 0, + "character": 660 + } + ] + } + ], + "step_id": 629, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 632, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1844, + "current_goal_text": "std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1", + "current_goal_predicate": "std.take", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := 1" ], + [ + "Assign", + "A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" + ], + [ "Assign", "A2 := [c0]" ], + [ + "Fail", + "unify X230^1 with [app EXN PRINTING: Elpi__Runtime.HO.RestrictionFailure" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.take _ _ _) :- (std.fatal-error take run out of list items).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 90, + "column": 0, + "character": 2985 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "std.fatal-error take run out of list items", + "goal_id": 1856 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + ], + "step_id": 632, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 633, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1856, + "current_goal_text": "std.fatal-error take run out of list items", + "current_goal_predicate": "std.fatal-error", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.fatal-error A0) :- (!), (stop A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 9, + "column": 0, + "character": 465 + } + ] + } + ], + "events": [ [ "Assign", "A0 := take run out of list items" ] ] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 1857 }, + { + "goal_text": "stop take run out of list items", + "goal_id": 1858 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.fatal-error A0) :- (!), (stop A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 9, + "column": 0, + "character": 465 + } + ] + } + ], + "step_id": 633, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + ], + "step_id": 632, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 634, + "runtime_id": 8, + "step": [ + "Cut", + { + "cut_goal_id": 1857, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "std.fatal-error take run out of list items", + "goal_id": 1856 + }, + "cut_branch": { + "rule_text": "(std.fatal-error A0) :- (halt A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 16, + "column": 0, + "character": 659 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 635, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1858, + "current_goal_text": "stop take run out of list items", + "current_goal_predicate": "stop", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "stop :- (halt).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 67, + "column": 0, + "character": 960 + } + ] + } + ], + "events": [] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(stop A0) :- (get-option ltac:fail A1), (!), (coq.ltac.fail A1 A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 22, + "column": 0, + "character": 794 + } + ] + } + ], + "events": [ [ "Assign", "A0 := take run out of list items" ] ] + }, + "siblings": [ + { "goal_text": "get-option ltac:fail X265^2", "goal_id": 1859 }, + { "goal_text": "!", "goal_id": 1860 }, + { + "goal_text": "coq.ltac.fail X265^2 take run out of list items", + "goal_id": 1861 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 637 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "stop :- (halt).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 67, + "column": 0, + "character": 960 + } + ] + } + ], + "step_id": 635, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.fatal-error A0) :- (!), (stop A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 9, + "column": 0, + "character": 465 + } + ] + } + ], + "step_id": 633, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + ], + "step_id": 632, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 636, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1859, + "current_goal_text": "get-option ltac:fail X265^2", + "current_goal_predicate": "get-option", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "stop :- (halt).", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 67, + "column": 0, + "character": 960 + } + ] + } + ], + "step_id": 635, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.fatal-error A0) :- (!), (stop A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 9, + "column": 0, + "character": 465 + } + ] + } + ], + "step_id": 633, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + ], + "step_id": 632, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 637, + "runtime_id": 8, + "step": [ + "Inference", + { + "current_goal_id": 1858, + "current_goal_text": "stop take run out of list items", + "current_goal_predicate": "stop", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(stop A0) :- (coq.error A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 23, + "column": 0, + "character": 852 + } + ] + } + ], + "events": [ [ "Assign", "A0 := take run out of list items" ] ] + }, + "siblings": [ + { + "goal_text": "coq.error take run out of list items", + "goal_id": 1862 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(stop A0) :- (coq.error A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 23, + "column": 0, + "character": 852 + } + ] + } + ], + "step_id": 637, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.fatal-error A0) :- (!), (stop A0).", + "rule_loc": [ + "File", + { + "filename": "/build/source/./elpi/coq-lib.elpi", + "line": 9, + "column": 0, + "character": 465 + } + ] + } + ], + "step_id": 633, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 89, + "column": 0, + "character": 2932 + } + ] + } + ], + "step_id": 632, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 45, + "column": 0, + "character": 1682 + } + ] + } + ], + "step_id": 619, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 562, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 561, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 560, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3))).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 115, + "column": 0, + "character": 3974 + } + ] + } + ], + "step_id": 558, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "elpi-builtin.elpi", + "line": 28, + "column": 0, + "character": 296 + } + ] + } + ], + "step_id": 557, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 35, + "column": 0, + "character": 1155 + } + ] + } + ], + "step_id": 556, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 555, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 546, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 536, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 108, + "column": 0, + "character": 3601 + } + ] + } + ], + "step_id": 535, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 534, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 141, + "column": 0, + "character": 4745 + } + ] + } + ], + "step_id": 394, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 393, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 384, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 375, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 371, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 100, + "column": 0, + "character": 3290 + } + ] + } + ], + "step_id": 370, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 369, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 368, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 367, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 366, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 365, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 361, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 356, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 224, + "column": 0, + "character": 8609 + } + ] + } + ], + "step_id": 354, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 213, + "column": 0, + "character": 8143 + } + ] + } + ], + "step_id": 353, + "runtime_id": 8 + }, + { + "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 =>\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", + "line": 239, + "column": 0, + "character": 9183 + } + ] + } + ], + "step_id": 352, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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/utils.elpi", + "line": 245, + "column": 0, + "character": 9440 + } + ] + } + ], + "step_id": 351, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 350, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 347, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 340, + "runtime_id": 8 + }, + { + "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_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi", + "line": 86, + "column": 0, + "character": 2829 + } + ] + } + ], + "step_id": 339, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 338, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 332, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 320, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 310, + "runtime_id": 8 + }, + { + "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 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", + "line": 289, + "column": 0, + "character": 12694 + } + ] + } + ], + "step_id": 309, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 308, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi", + "line": 100, + "column": 0, + "character": 4390 + } + ] + } + ], + "step_id": 307, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 306, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.private.declare-canonical-instances-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/instance.elpi", + "line": 282, + "column": 0, + "character": 12180 + } + ] + } + ], + "step_id": 305, + "runtime_id": 8 + }, + { + "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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = [])).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 196, + "column": 0, + "character": 8410 + } + ] + } + ], + "step_id": 304, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 301, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 288, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 284, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 281, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 222, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 208, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 182, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 175, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 169, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 162, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 153, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 143, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 125, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 122, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.do! [A0 | A1]) :- A0, (!), (std.do! A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 256, + "column": 0, + "character": 8603 + } + ] + } + ], + "step_id": 99, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20]).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi", + "line": 25, + "column": 0, + "character": 1064 + } + ] + } + ], + "step_id": 98, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-logging A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi", + "line": 289, + "column": 0, + "character": 11419 + } + ] + } + ], + "step_id": 97, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 75, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 74, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0)).", + "rule_loc": [ + "File", + { + "filename": "/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi", + "line": 14, + "column": 0, + "character": 453 + } + ] + } + ], + "step_id": 4, + "runtime_id": 8 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _))).", + "rule_loc": [ + "File", + { + "filename": "./structures.v", + "line": 594, + "column": 0, + "character": 2 + } + ] + } + ], + "step_id": 2, + "runtime_id": 8 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 1, + "runtime_id": 8 + } + ] + } + ], + "color": "YellowRed" + } +] diff --git a/src/tests/sources/broken_trace1.json b/src/tests/sources/broken_trace1.json new file mode 100644 index 0000000..09b3ee5 --- /dev/null +++ b/src/tests/sources/broken_trace1.json @@ -0,0 +1,5343 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] =>\n main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] =>\n main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1122"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["main","main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"./structures.v\", line 594, column 0, character 2:","File \"./structures.v\", line 596, column 0, character 140:","File \"./structures.v\", line 600, column 0, character 368:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"./structures.v\", line 594, column 0, character 2:","(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _)))."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := _"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := arity X1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1123"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1124"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1122","File \"./structures.v\", line 596, column 0, character 140:","(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 (instance.declare-existing A0 A1)))."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1122","File \"./structures.v\", line 600, column 0, character 368:","(main _) :- (coq.error\n Usage: HB.instance Definition := T ...)."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-attributes","with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 14, column 0, character 453:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 14, column 0, character 453:","(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0))."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1125"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["attributes X2"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1126"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes X2 \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 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"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1127"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1128"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X3 =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["attributes","attributes X2"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:1)\", line 1, column 0, character 0:"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:1)\", line 1, column 0, character 0:","(attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X2 := [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1129"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.parse-attributes","coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 633, column 0, character 27114:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 633, column 0, character 27114:","(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!)."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 compress_coercions 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]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X3"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1130"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 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 = supported-attribute c0) X4"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1131"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X4 =>\n parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1132"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 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 = supported-attribute c0) X4"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att verbose bool"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X4 := [X5 | X6]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1133"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X5 = supported-attribute (att verbose bool)"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1134"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 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 = supported-attribute c0) X6"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X5 = supported-attribute (att verbose bool)"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X5 := supported-attribute (att verbose bool)"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 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 = supported-attribute c0) X6"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att mathcomp bool"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X6 := [X7 | X8]"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1135"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X7 = supported-attribute (att mathcomp bool)"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1136"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att mathcomp.axiom string, att short.type string, 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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X8"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X7 = supported-attribute (att mathcomp bool)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X7 := supported-attribute (att mathcomp bool)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att mathcomp.axiom string, att short.type string, 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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X8"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att mathcomp.axiom string"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 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]"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X8 := [X9 | X10]"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1137"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X9 = supported-attribute (att mathcomp.axiom string)"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1138"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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, 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 = supported-attribute c0) X10"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X9 = supported-attribute (att mathcomp.axiom string)"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X9 := supported-attribute (att mathcomp.axiom string)"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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, 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 = supported-attribute c0) X10"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att short.type string"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X10 := [X11 | X12]"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1139"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X11 = supported-attribute (att short.type string)"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1140"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 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 = supported-attribute c0) X12"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X11 = supported-attribute (att short.type string)"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X11 := supported-attribute (att short.type string)"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 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 = supported-attribute c0) X12"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att short.pack string"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X12 := [X13 | X14]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1141"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X13 = supported-attribute (att short.pack string)"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1142"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 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 = supported-attribute c0) X14"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X13 = supported-attribute (att short.pack string)"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X13 := supported-attribute (att short.pack string)"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 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 = supported-attribute c0) X14"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att infer attmap"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X14 := [X15 | X16]"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1143"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X15 = supported-attribute (att infer attmap)"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1144"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 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 = supported-attribute c0) X16"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X15 = supported-attribute (att infer attmap)"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X15 := supported-attribute (att infer attmap)"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 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 = supported-attribute c0) X16"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att key string"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X16 := [X17 | X18]"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1145"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X17 = supported-attribute (att key string)"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1146"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 = supported-attribute c0) X18"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X17 = supported-attribute (att key string)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X17 := supported-attribute (att key string)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 = supported-attribute c0) X18"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att arg_sort bool"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X18 := [X19 | X20]"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1147"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X19 = supported-attribute (att arg_sort bool)"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1148"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 = supported-attribute c0) X20"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X19 = supported-attribute (att arg_sort bool)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X19 := supported-attribute (att arg_sort bool)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 = supported-attribute c0) X20"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att log bool"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att log.raw bool, att compress_coercions 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]"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X20 := [X21 | X22]"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1149"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X21 = supported-attribute (att log bool)"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1150"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att log.raw bool, att compress_coercions 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 = supported-attribute c0) X22"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X21 = supported-attribute (att log bool)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X21 := supported-attribute (att log bool)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att log.raw bool, att compress_coercions 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 = supported-attribute c0) X22"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att log.raw bool"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att compress_coercions 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]"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X22 := [X23 | X24]"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1151"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X23 = supported-attribute (att log.raw bool)"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1152"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 = supported-attribute c0) X24"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X23 = supported-attribute (att log.raw bool)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X23 := supported-attribute (att log.raw bool)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 = supported-attribute c0) X24"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att compress_coercions bool"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X24 := [X25 | X26]"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1153"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X25 = supported-attribute (att compress_coercions bool)"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1154"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 = supported-attribute c0) X26"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X25 = supported-attribute (att compress_coercions bool)"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X25 := supported-attribute (att compress_coercions bool)"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 = supported-attribute c0) X26"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att export bool"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X26 := [X27 | X28]"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1155"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X27 = supported-attribute (att export bool)"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1156"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 = supported-attribute c0) X28"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X27 = supported-attribute (att export bool)"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X27 := supported-attribute (att export bool)"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 = supported-attribute c0) X28"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att skip string"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X28 := [X29 | X30]"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1157"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X29 = supported-attribute (att skip string)"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1158"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 = supported-attribute c0) X30"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X29 = supported-attribute (att skip string)"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X29 := supported-attribute (att skip string)"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 = supported-attribute c0) X30"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att local bool"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att fail bool, att doc string, att primitive_class bool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X30 := [X31 | X32]"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1159"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X31 = supported-attribute (att local bool)"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1160"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [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 = supported-attribute c0) X32"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X31 = supported-attribute (att local bool)"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X31 := supported-attribute (att local bool)"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [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 = supported-attribute c0) X32"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att fail bool"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X32 := [X33 | X34]"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1161"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X33 = supported-attribute (att fail bool)"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1162"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X34"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X33 = supported-attribute (att fail bool)"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X33 := supported-attribute (att fail bool)"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X34"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att doc string"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X34 := [X35 | X36]"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1163"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X35 = supported-attribute (att doc string)"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1164"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X36"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X35 = supported-attribute (att doc string)"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X35 := supported-attribute (att doc string)"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X36"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att primitive_class bool"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att primitive bool, att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X36 := [X37 | X38]"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1165"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X37 = supported-attribute (att primitive_class bool)"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1166"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X38"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X37 = supported-attribute (att primitive_class bool)"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X37 := supported-attribute (att primitive_class bool)"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X38"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att primitive bool"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X38 := [X39 | X40]"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1167"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X39 = supported-attribute (att primitive bool)"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1168"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X40"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X39 = supported-attribute (att primitive bool)"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X39 := supported-attribute (att primitive bool)"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X40"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att non_forgetful_inheritance bool"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att hnf bool]"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X40 := [X41 | X42]"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1169"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X41 = supported-attribute (att non_forgetful_inheritance bool)"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1170"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [att hnf bool] (c0 \\ c1 \\ c1 = supported-attribute c0) X42"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X41 = supported-attribute (att non_forgetful_inheritance bool)"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X41 := supported-attribute (att non_forgetful_inheritance bool)"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [att hnf bool] (c0 \\ c1 \\ c1 = supported-attribute c0) X42"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att hnf bool"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X42 := [X43 | X44]"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1171"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X43 = supported-attribute (att hnf bool)"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1172"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] (c0 \\ c1 \\ c1 = supported-attribute c0) X44"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X43 = supported-attribute (att hnf bool)"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X43 := supported-attribute (att hnf bool)"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] (c0 \\ c1 \\ c1 = supported-attribute c0) X44"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X44 := []"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[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-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-attribute (att hnf bool)] =>\n parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1173"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["parse-attributes.aux","parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:6)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 637, column 0, character 27263:","File \"/build/source/./elpi/coq-lib.elpi\", line 641, column 0, character 27574:","File \"/build/source/./elpi/coq-lib.elpi\", line 646, column 0, character 27781:","File \"/build/source/./elpi/coq-lib.elpi\", line 652, column 0, character 28097:"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:6)\", line 1, column 0, character 0:","(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 637, column 0, character 27263:","(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A5 = 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 (att c0 string) :- !)) =>\n parse-attributes.aux A1 A7), (std.append A6 [get-option A5 A7] A4)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 641, column 0, character 27574:","(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (!), \n (parse-attributes.aux A2 A3 A5), \n (if (A3 = ) (A6 = A0) (A6 is A3 ^ . ^ A0)), \n (parse-attributes.aux A1 A6 A7), (std.append A5 A7 A4)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 646, column 0, character 27781:","(parse-attributes.aux [attribute A0 (leaf-str A1) | A2] A3 A4) :- (!), \n (if (A3 = ) (A5 = A0) (A5 is A3 ^ . ^ A0)), \n (coq.valid-str-attribute A5 A1 A6 A7), \n (if (A7 = error A8) (coq.error A8) true), \n (if (A6 = some A9) (A4 = [get-option A5 A9 | A10]) (A4 = A10)), \n (parse-attributes.aux A2 A3 A10)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (leaf-str A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 652, column 0, character 28097:","(parse-attributes.aux [attribute A0 (leaf-loc A1) | A2] A3 A4) :- (!), \n (if (A3 = ) (A5 = A0) (A5 is A3 ^ . ^ A0)), \n (coq.valid-loc-attribute A5 A1 A6), \n (if (A6 = error A7) (coq.error A7) true), (A4 = [get-option A5 A1 | A8]), \n (parse-attributes.aux A2 A3 A8)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := "]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X3"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1174"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1175"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1176"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.valid-loc-attribute X45 File \"(stdin)\", line 1, column 2, character 3: \n X46"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1177"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (X46 = error X47) (coq.error X47) true"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1178"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X3 = [get-option X45 File \"(stdin)\", line 1, column 2, character 3: | X48]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1179"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["parse-attributes.aux [] X48"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 51,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 51,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 51,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := = "]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X45 = elpi.loc"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1180"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:newgoal","payload" : [" = "]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1181"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1182"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X45 = elpi.loc"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["="," = "]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1175","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X45 = elpi.loc"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X45 := elpi.loc"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.valid-loc-attribute","coq.valid-loc-attribute elpi.loc \n File \"(stdin)\", line 1, column 2, character 3: X46"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 594, column 0, character 25390:"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 594, column 0, character 25390:","(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3)))."]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X46"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1183"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (supported-attribute (att elpi.loc loc)) \n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (supported-attribute (att elpi.loc loc)) \n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := supported-attribute (att elpi.loc loc)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1184"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["supported-attribute (att elpi.loc loc)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1185"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1186"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["supported-attribute","supported-attribute (att elpi.loc loc)"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 573, column 0, character 24545:","File \"/build/source/./elpi/coq-lib.elpi\", line 574, column 0, character 24587:"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att verbose bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att verbose bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att mathcomp bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att mathcomp bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att mathcomp.axiom string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att mathcomp.axiom string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att short.type string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att short.type string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att short.pack string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att short.pack string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att infer attmap)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att infer attmap"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att key string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att key string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att arg_sort bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att arg_sort bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att log bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att log bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att log.raw bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att log.raw bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att compress_coercions bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att compress_coercions bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att export bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att export bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att skip string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att skip string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att local bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att local bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att fail bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att fail bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att doc string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att doc string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att primitive_class bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att primitive_class bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att primitive bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att primitive bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att non_forgetful_inheritance bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att non_forgetful_inheritance bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att hnf bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att hnf bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 573, column 0, character 24545:","(supported-attribute (att elpi.loc loc)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1184","File \"/build/source/./elpi/coq-lib.elpi\", line 574, column 0, character 24587:","(supported-attribute (att A0 string)) :- (rex_match ^elpi\\. A0)."]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1183","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X46 = ok"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1187"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1188"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1189"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X46 = ok"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["primitive?","primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 373, column 0, character 8225:"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 373, column 0, character 8225:","(primitive? A0 A1) :- (is_cdata A0 (ctype A1))."]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Loc.t"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1190"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["is_cdata File \"(stdin)\", line 1, column 2, character 3: (ctype Loc.t)"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["is_cdata","is_cdata File \"(stdin)\", line 1, column 2, character 3: (ctype Loc.t)"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["is_cdata"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1191"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ctype Loc.t = ctype Loc.t"]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ctype Loc.t = ctype Loc.t"]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1186","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X46 = ok"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X46 := ok"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (ok = error X47) (coq.error X47) true"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := coq.error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1192"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1193"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1193,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1194"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1194,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = error X47"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify ok with error X47"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["fail"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (ok = error X47) (coq.error X47) true"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1195"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X3 =\n [get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3: | X48]"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X3 := [get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3: | X48]"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["parse-attributes.aux","parse-attributes.aux [] X48"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 636, column 0, character 27233:"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 636, column 0, character 27233:","(parse-attributes.aux [] _ []) :- ."]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X48 := []"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 72,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 72,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 72,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 73,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 73,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 73,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:] =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1196"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1197"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["save-docstring"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1198"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["save-docstring","save-docstring"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 81, column 0, character 2429:"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 81, column 0, character 2429:","save-docstring :- (if (get-option elpi.loc A0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1)) true)."]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1199"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.loc X52 , get-option doc X53"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := acc-clause _ (docstring X52 X53)"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1200"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X52 , get-option doc X53"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1201"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1201,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1202"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1202,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["acc-clause _ (docstring X52 X53)"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option elpi.loc X52 , get-option doc X53"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1203"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X52"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1204"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option doc X53"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.loc X52"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:","(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- ."]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X52 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option doc X53"]} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1205"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-logging","with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 267, column 0, character 10575:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 283, column 0, character 11151:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 267, column 0, character 10575:","(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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)."]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1206"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1207"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1207,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1208"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1208,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X55"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1209"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1209,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["loc.fields X55 X56 _ _ _ _"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1210"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1210,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.any->string X55 X57"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1211"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1211,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X58 is X56 ^ .hb"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1212"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1212,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["open_append X58 X59"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1213"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1213,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.string.concat \n [, HIERARCHY BUILDER PATCH v1, X57, ] X60"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1214"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1214,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["output X59 X60"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1215"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1215,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["close_out X59"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1216"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1216,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X61 X54 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1217"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1217,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-close X61"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1218"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1218,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.intersperse coq.pp.spc X61 X62"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1219"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1219,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.pp->string (coq.pp.box (coq.pp.v 0) X62) X63"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1220"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1220,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["open_append X58 X64"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1221"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1221,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["output X64 X63"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1222"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1222,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["close_out X64"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.hb.log _ , X54 = tt"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1223"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log _ , X54 = tt"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option elpi.hb.log _ , X54 = tt"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1224"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log _"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1225"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1225,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X54 = tt"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.hb.log _"]} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1226"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1227"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log.raw _"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1228"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1228,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X54 = ff"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.hb.log.raw _"]} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-logging","with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 283, column 0, character 11151:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 283, column 0, character 11151:","(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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*))."]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1229"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1230"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1230,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1231"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1231,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X66 X65 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1232"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1232,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-close X66"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1233"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1233,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.intersperse coq.pp.spc X66 X67"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1234"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1234,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.pp->string (coq.pp.box (coq.pp.v 0) X67) X68"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1235"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1235,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say (* \n X68 \n*)"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option log tt , X65 = tt"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1236"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log tt , X65 = tt"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option log tt , X65 = tt"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1237"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log tt"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1238"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1238,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X65 = tt"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option log tt"]} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option log.raw tt , X65 = ff"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1239"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log.raw tt , X65 = ff"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option log.raw tt , X65 = ff"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1240"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log.raw tt"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1241"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1241,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X65 = ff"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option log.raw tt"]} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-logging","with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:","(with-logging A0) :- A0."]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1242"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.declare-const","instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 25, column 0, character 1064:"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 25, column 0, character 1064:","(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20])."]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := _"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := arity X1"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1243"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [coq.arity->term X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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, \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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1244"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1245"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1246"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.arity->term X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.elaborate-arity-skeleton (arity X1) _ X69"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Definition type illtyped"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1247"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elaborate-arity-skeleton (arity X1) _ X69 X92"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1248"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1249"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X92 = ok ;\n X92 = error X93 , std.fatal-error-w-data Definition type illtyped X93"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1250"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elaborate-arity-skeleton","coq.elaborate-arity-skeleton (arity X1) _ X69 X92"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 363, column 0, character 15598:"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 363, column 0, character 15598:","(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3)."]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X1"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X69 := arity X94"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X92"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1251"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elaborate-ty-skeleton X1 X95 X94 X92"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elaborate-ty-skeleton","coq.elaborate-ty-skeleton X1 X95 X94 X92"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.elaborate-ty-skeleton"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1252"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X95 = typ «interleave_context.403»"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1253"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X94 = X96"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1254"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1255"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X92 = ok"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X95 = typ «interleave_context.403»"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X95 := typ «interleave_context.403»"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X94 = X96"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X94 := X96"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["declare-evar","declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 163, column 0, character 6258:"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 163, column 0, character 6258:","(declare-evar A0 A1 A2 A3) :- (declare_constraint (declare-evar A0 A1 A2 A3) \n [A1])."]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X97"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := sort (typ «interleave_context.403»)"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X96"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1256"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare_constraint\n (declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)) [\n X97]"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint\n (declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)) [\n X97]"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1257"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:CHR:try","payload" : ["File \"coq-builtin.elpi\", line 178, column 4, character 6801:"," \\ (declare-evar A0 A1 A2 A3) <=> (A0 => evar A1 A2 A3)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A1 := uvar frozen--1156 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A2 := sort (typ «interleave_context.403»)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A3 := uvar frozen--1157 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1260"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:CHR:rule-fired","payload" : ["File \"coq-builtin.elpi\", line 178, column 4, character 6801:"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:CHR:rule-remove-constraints","payload" : ["1257"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:CHR:store:before","payload" : ["1257"," declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96) /* suspended on X97 */"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule","payload" : ["resume"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:rule:resume:resumed","payload" : ["_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:resume","payload" : ["success"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1261"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1262"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["evar","evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","File \"coq-builtin.elpi\", line 197, column 0, character 7585:"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true)."]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X97"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := sort (typ «interleave_context.403»)"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X96"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1263"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1264"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1262","File \"coq-builtin.elpi\", line 197, column 0, character 7585:","(evar _ _ _) :- ."]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var X96"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) X96) [X97, X96]"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1265"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var X96"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1266"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1267"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var X96"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1264","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1268"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X92 = ok"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X92 := ok"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1244","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ;\n ok = error X93 , std.fatal-error-w-data Definition type illtyped X93"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1269"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1249","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 121,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 121,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 121,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.arity->term (arity (X96)) X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.arity->term (arity (X96)) X70"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1270"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.arity->term (arity (X96)) X70"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1271"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1272"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.arity->term","coq.arity->term (arity (X96)) X70"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 371, column 0, character 15907:"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 371, column 0, character 15907:","(coq.arity->term (arity A0) A0) :- ."]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X96"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X70 := X96"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 124,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 124,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 124,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1273"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1274"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1275"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Definition illtyped"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1276"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1277"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1278"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X98 = ok ; X98 = error X99 , std.fatal-error-w-data Definition illtyped X99"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1279"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elaborate-skeleton","coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.elaborate-skeleton"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1280"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X96 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1281"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1282"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X98 = ok"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X96 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign:HO","payload" : ["X96 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign:resume","payload" : ["1268"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 129,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule","payload" : ["resume"]} +{"step" : 129,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule:resume:resumed","payload" : ["evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 129,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:resume","payload" : ["success"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["evar","evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","File \"coq-builtin.elpi\", line 197, column 0, character 7585:"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true)."]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X97"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := sort (typ «interleave_context.403»)"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1283"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1284"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1268","File \"coq-builtin.elpi\", line 197, column 0, character 7585:","(evar _ _ _) :- ."]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1285"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1286"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1286,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1287"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1287,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1288"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X71 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X98 = ok"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X98 := ok"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1273","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X99 , std.fatal-error-w-data Definition illtyped X99"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1289"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1278","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 142,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 142,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 142,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) 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 instance.private.hack-section-discharging X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (log.coq.env.begin-section X76) \n (instance.private.postulate-arity\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), \n global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]) X73 X72))"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (coq.safe-dest-app X72 (global X77) X78) \n 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1290"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1291"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1292"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n = arity X72"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1293"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1294"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1295"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X72 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1290","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1296"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if-verbose (coq.say HB: skipping section opening)"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1297"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if-verbose","if-verbose (coq.say HB: skipping section opening)"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 51, column 0, character 1529:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 52, column 0, character 1576:"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 51, column 0, character 1529:","(if-verbose A0) :- (get-option verbose tt), (!), A0."]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.say HB: skipping section opening"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1298"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option verbose tt"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1299"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1299,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1300"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1300,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say HB: skipping section opening"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option verbose tt"]} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if-verbose","if-verbose (coq.say HB: skipping section opening)"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 52, column 0, character 1576:"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 52, column 0, character 1576:","(if-verbose _) :- ."]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X73 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 152,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 152,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 152,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = 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\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1301"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1302"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1303"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := The type of the instance is not a factory"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1304"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1305"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1306"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3)."]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»)]"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global X77"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X78"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1307"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1308"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1309"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append X100 [global (indt «nat»)] X78"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1306","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X77 := indt «IsSelfA'.axioms_»"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X100 := []"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [] [global (indt «nat»)] X78"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:","(std.append [] A0 A0) :- ."]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (indt «nat»)]"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X78 := [global (indt «nat»)]"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1304","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 161,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 161,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 161,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») 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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, \n instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1310"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1311"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1312"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X79"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1313"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X79 (indt «IsSelfA'.axioms_») _"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1314"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1314,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X79 (indt «IsSelfA'.axioms_») _"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «HasA.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «HasA.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «HasB.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «HasB.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «IsSelfA.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «IsSelfA.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «IsSelfA'.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «IsSelfA'.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «IsSelfA'.axioms_»"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1315"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1316"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1310","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1310","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1310","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 168,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 168,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 168,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB, \n instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1317"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1318"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1319"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Not a factory synthesized by HB"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1320"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1321"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1322"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-nparams","factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasA.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «A.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «A.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasB.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «B.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «B.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA.axioms_») 0) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «SelfA.axioms_») 0) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA'.axioms_») 0) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X80 := 0"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1320","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 174,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 174,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 174,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1323"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1324"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1325"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.hack-section-discharging","instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 300, column 0, character 12925:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 301, column 0, character 12985:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 300, column 0, character 12925:","(instance.private.hack-section-discharging A0 A0) :- (current-mode no-builder), \n (!)."]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X81 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1326"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["current-mode no-builder"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1327"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1327,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["current-mode","current-mode no-builder"]} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.hack-section-discharging","instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 301, column 0, character 12985:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 301, column 0, character 12985:","(instance.private.hack-section-discharging A0 A1) :- (current-mode\n (builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory is illtyped (BUG)), \n (A1 = let `_` A3 A2 (c0 \\ A0))."]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X81"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1328"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["current-mode (builder-from _ X101 _ _)"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1329"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1329,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1330"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1330,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok! (coq.typecheck X101 X102) TheFactory is illtyped (BUG)"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1331"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1331,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X81 =\n let `_` X102 X101 c0 \\\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c1 \\ c1]"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["current-mode","current-mode (builder-from _ X101 _ _)"]} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.hack-section-discharging","instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:","(instance.private.hack-section-discharging A0 A0) :- ."]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X81 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 181,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 181,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 181,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1332"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1333"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1334"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.optimize-body","instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 309, column 0, character 13433:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 314, column 0, character 13706:"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 309, column 0, character 13433:","(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)."]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := «IsSelfA'.phant_Build»"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X82"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1335"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1336"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1337"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.env.const «IsSelfA'.phant_Build» (some X104) _"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1338"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta X104 \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1339"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["unwind X105 X106 X82"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := phant-abbrev _ (const «IsSelfA'.phant_Build») _"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1340"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev _ (const «IsSelfA'.phant_Build») _"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev _ (const «IsSelfA'.phant_Build») _"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasA.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasA.phant_Build»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasB.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasB.phant_Build»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «IsSelfA.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «IsSelfA.phant_Build»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «IsSelfA'.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1335","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1332","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 314, column 0, character 13706:","(instance.private.optimize-body A0 A0) :- ."]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.env.const","coq.env.const «IsSelfA'.phant_Build» (some X104) _"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.env.const"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1341"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["some X104 =\n some\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2])"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","some X104 =\n some\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2])"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X104 := fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4)."]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0 \\\nfun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1342"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1343"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1338","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4)."]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0 \\\nfun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indc «O»)"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1344"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1345"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1343","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4)."]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0 \\\napp\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := fun `x` (global (indt «nat»)) c0 \\ c0"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1346"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1347"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1345","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 92, column 0, character 3424:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 92, column 0, character 3424:","(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4)."]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1348"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1349"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1350"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta (global (indc «IsSelfA'.Axioms_»)) X107 X105 X106"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1347","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:","(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3)."]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X107 := [global (indt «nat») | X108]"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1351"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] [] \n X108"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] [] \n X108"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:","(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3)."]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «O»)"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X108 := [global (indc «O») | X109]"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1352"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append [fun `x` (global (indt «nat»)) c0 \\ c0] [] X109"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [fun `x` (global (indt «nat»)) c0 \\ c0] [] X109"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:","(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3)."]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := fun `x` (global (indt «nat»)) c0 \\ c0"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X109 := [fun `x` (global (indt «nat»)) c0 \\ c0 | X110]"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1353"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append [] [] X110"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [] [] X110"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:","(std.append [] A0 A0) :- ."]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X110 := []"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X105 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X106 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["unwind","unwind (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 22, column 0, character 758:"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 22, column 0, character 758:","(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2))."]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X82"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1354"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var (global (indc «IsSelfA'.Axioms_»))"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1355"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var (global (indc «IsSelfA'.Axioms_»))"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1356"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1356,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1357"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1357,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var (global (indc «IsSelfA'.Axioms_»))"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1358"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.mk-app","coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 77, column 0, character 2958:","File \"/build/source/./elpi/coq-lib.elpi\", line 81, column 0, character 3175:"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 77, column 0, character 2958:","(coq.mk-app A0 [] A0) :- (!)."]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["match\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] with []"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 81, column 0, character 3175:","(coq.mk-app A0 A1 (app [A0 | A1])) :- ."]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X82 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 207,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 207,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 207,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1359"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1360"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1361"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := _ = _"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := , (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1362"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["_ = _"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1363"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1364"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:newgoal","payload" : [", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","_ = _"]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1359","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",",", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1365"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["new_int X83"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1366"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.any->string X83 X84"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1367"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X85 is HB_unnamed_factory_ ^ X84"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["new_int","new_int X83"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["new_int"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1368"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X83 = 27"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X83 = 27"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X83 := 27"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.any->string","std.any->string 27 X84"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 275, column 0, character 9167:"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 275, column 0, character 9167:","(std.any->string A0 A1) :- (term_to_string A0 A1)."]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 27"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X84"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1369"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["term_to_string 27 X84"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["term_to_string","term_to_string 27 X84"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["term_to_string"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1370"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X84 = 27"]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X84 = 27"]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X84 := 27"]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["is","X85 is HB_unnamed_factory_ ^ 27"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 77, column 0, character 1165:"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 77, column 0, character 1165:","(A0 is A1) :- (calc A1 A0)."]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X85"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := HB_unnamed_factory_ ^ 27"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1371"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["calc (HB_unnamed_factory_ ^ 27) X85"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["calc","calc (HB_unnamed_factory_ ^ 27) X85"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["calc"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1372"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X85 = HB_unnamed_factory_27"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X85 = HB_unnamed_factory_27"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X85 := HB_unnamed_factory_27"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 221,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 221,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 221,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1373"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1374"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1375"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.coq.env.add-const-noimplicits-failondup","log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 59, column 0, character 2355:"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 59, column 0, character 2355:","(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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]])."]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := HB_unnamed_factory_27"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := ff"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X86"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1376"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n X112) \n (coq.error HB: cannot infer some information in \n HB_unnamed_factory_27 : X111 := X112)) true"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, log.coq.env.add-location (const X86), \n if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1377"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1378"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1379"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := ,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 \n : X111 := X112)"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1380"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1381"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1381,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1382"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1382,"runtime_id" : 8,"name" : "user:newgoal","payload" : [",\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1383"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1384"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1385"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1386"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["ground_term","ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["ground_term"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1383","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1380","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1387"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 233,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 233,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 233,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [log.coq.env.add-location (const X86), \n if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1388"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1389"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1390"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.env.add-const","coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.env.add-const"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1391"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X86 = «HB_unnamed_factory_27»"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X86 = «HB_unnamed_factory_27»"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X86 := «HB_unnamed_factory_27»"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 237,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 237,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 237,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [log.coq.env.add-location (const «HB_unnamed_factory_27»), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.coq.env.add-location (const «HB_unnamed_factory_27»)"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1392"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.coq.env.add-location (const «HB_unnamed_factory_27»)"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1393"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1394"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.coq.env.add-location","log.coq.env.add-location (const «HB_unnamed_factory_27»)"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 21, column 0, character 831:"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 21, column 0, character 831:","(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true)."]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «HB_unnamed_factory_27»"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1395"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.loc X114"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := acc-clause library \n (decl-location (const «HB_unnamed_factory_27») X114)"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1396"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X114"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1397"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1398"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.loc X114"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:","(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- ."]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X114 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1395","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["acc-clause","acc-clause library \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:)"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 75, column 0, character 2237:"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 75, column 0, character 2237:","(acc-clause A0 A1) :- (coq.elpi.accumulate A0 hb.db (clause _ _ A1))."]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := library"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1399"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:))"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elpi.accumulate","coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:))"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.elpi.accumulate"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 245,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 245,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 245,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1400"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1401"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1402"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X113 = none"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1403"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1404"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1404,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1405"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1405,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X113 = none"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1406"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X113 = some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X113 = some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X113 := some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 251,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 251,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 251,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1407"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1408"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1409"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-extend A1 A4)."]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1410"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X115 X116"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1411"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1411,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1412"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1412,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (X116 = tt) (X117 = []) (X117 = [get-option coq:pp all])"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1413"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1413,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X117 =>\n log.private.coq.vernac->pp\n [log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])] X118"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1414"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1414,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-extend X115 X118"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.logger","log.private.logger X115 X116"]} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:","(log.private.log-vernac _) :- ."]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 256,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 256,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 256,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1415"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1416"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1417"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1418"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.coq.arguments.set-implicit","log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 14, column 0, character 592:"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 14, column 0, character 592:","(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 = tt) (A2 = ff), \n (coq.gref->id A0 A3 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit\n A2 A3 A1))])."]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «HB_unnamed_factory_27»"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [[]]"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1419"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]], \n if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]], \n if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1420"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1421"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1422"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.arguments.set-implicit","coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.arguments.set-implicit"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 262,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 262,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 262,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if (get-option coq:locality local) (X119 = tt) (X119 = ff)"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1423"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option coq:locality local) (X119 = tt) (X119 = ff)"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1424"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1425"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option coq:locality local) (X119 = tt) (X119 = ff)"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option coq:locality local"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X119 = tt"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1426"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option coq:locality local"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1427"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1428"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X119 = tt"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option coq:locality local"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:258)\", line 1, column 0, character 0:"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:258)\", line 1, column 0, character 0:","(get-option coq:locality local) :- ."]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1423","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X119 = tt"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X119 := tt"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 268,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 268,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 268,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]]))]"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1429"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1430"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1431"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1432"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.gref->id (const «HB_unnamed_factory_27») X120"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1433"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.gref->id","coq.gref->id (const «HB_unnamed_factory_27») X120"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.gref->id"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1434"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X120 = HB_unnamed_factory_27"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X120 = HB_unnamed_factory_27"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X120 := HB_unnamed_factory_27"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]])"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-extend A1 A4)."]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1435"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X121 X122"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1436"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1436,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1437"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1437,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (X122 = tt) (X123 = []) (X123 = [get-option coq:pp all])"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1438"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1438,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X123 =>\n log.private.coq.vernac->pp\n [log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]] X124"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1439"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1439,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-extend X121 X124"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.logger","log.private.logger X121 X122"]} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]])"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:","(log.private.log-vernac _) :- ."]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 276,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 276,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 276,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 278,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 278,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 278,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 280,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 280,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 280,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [X87 = global (const «HB_unnamed_factory_27»), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X87 = global (const «HB_unnamed_factory_27»)"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1440"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X87 = global (const «HB_unnamed_factory_27»)"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1441"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1442"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X87 = global (const «HB_unnamed_factory_27»)"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X87 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 283,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 283,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 283,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.drop 0 [global (indt «nat»)] [X88 | _]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1443"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.drop 0 [global (indt «nat»)] [X88 | _]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1444"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1445"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.drop","std.drop 0 [global (indt «nat»)] [X88 | _]"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 99, column 0, character 3183:","File \"builtin_stdlib.elpi\", line 100, column 0, character 3200:","File \"builtin_stdlib.elpi\", line 101, column 0, character 3249:"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 99, column 0, character 3183:","(std.drop 0 A0 A0) :- (!)."]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (indt «nat»)]"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X88 := global (indt «nat»)"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1446"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1443","File \"builtin_stdlib.elpi\", line 100, column 0, character 3200:","(std.drop A0 [_ | A1] A2) :- (!), (A3 is A0 - 1), (std.drop A3 A1 A2)."]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1443","File \"builtin_stdlib.elpi\", line 101, column 0, character 3249:","(std.drop _ _ _) :- (std.fatal-error drop run out of list items)."]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 287,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 287,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 287,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.check-non-forgetful-inheritance\n (global (indt «nat»)) (indt «IsSelfA'.axioms_»)"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1447"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1448"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1449"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.check-non-forgetful-inheritance","instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 341, column 0, character 14872:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 343, column 0, character 14959:"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 341, column 0, character 14872:","(instance.private.check-non-forgetful-inheritance _ _) :- (get-option\n non_forgetful_inheritance \n tt), (!)."]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1450"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option non_forgetful_inheritance tt"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1451"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1451,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option non_forgetful_inheritance tt"]} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.check-non-forgetful-inheritance","instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 343, column 0, character 14959:"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 343, column 0, character 14959:","(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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true])."]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := indt «IsSelfA'.axioms_»"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1452"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true]"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true]"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 \n depend on 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1453"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1454"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1455"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := , (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1456"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1457"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1457,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1458"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1458,"runtime_id" : 8,"name" : "user:newgoal","payload" : [", (nice-gref->string (indt «IsSelfA'.axioms_») 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 X129 \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 #[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 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-inheritance.v \n to witness devastating effects.)"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1459"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1460"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1460,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["structure-key X125 _ X126"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify global (const X125) with global (indt «nat»)"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1461"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 298,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 298,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 298,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 300,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 300,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 300,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) \n X89 X90"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1462"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1463"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1463,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1464"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1464,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.declare-instance","instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 188, column 0, character 8025:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 196, column 0, character 8410:"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 188, column 0, character 8025:","(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 temporary instances, make an alias, e.g. with let T' := T) \n true), (!), \n (instance.private.declare-canonical-instances-from-factory-and-local-builders\n A0 A1 A2 A5 A6 A3 A4)."]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X89"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X90"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1465"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["current-mode (builder-from (global (indt «nat»)) X130 X131 _)"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1466"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1466,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1467"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1467,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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' := T) \n true"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1468"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1468,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1469"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1469,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.declare-canonical-instances-from-factory-and-local-builders\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X130 X131 X89 X90"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["current-mode","current-mode (builder-from (global (indt «nat»)) X130 X131 _)"]} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.declare-instance","instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 196, column 0, character 8410:"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 196, column 0, character 8410:","(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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = []))."]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X89"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X90"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1470"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.declare-canonical-instances-from-factory\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X90"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1471"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1471,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option export tt) \n (coq.env.current-library X132 ,\n std.map X90 (c0 \\ c1 \\\n sigma c2 \\ sigma c3 \\ c0 = pr c2 c3 , c1 = instance-to-export X132 c2 c3) \n X89) (X89 = [])"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.declare-canonical-instances-from-factory","instance.private.declare-canonical-instances-from-factory\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X90"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 282, column 0, character 12180:"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 282, column 0, character 12180:","(instance.private.declare-canonical-instances-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])."]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X90"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1472"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]], \n std.append X135 X137 X90]"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]], \n std.append X135 X137 X90]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.append X135 X137 X90]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1473"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1474"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1474,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1475"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1475,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! [std.append X135 X137 X90]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["synthesis.under-mixin-src-from-factory.do!","synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 100, column 0, character 4390:"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 100, column 0, character 4390:","(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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2])."]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1476"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138, \n std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138, \n std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1477"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1478"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1478,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1479"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1479,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["synthesis.private.factory-instance->new-mixins","synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 289, column 0, character 12694:"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 289, column 0, character 12694:","(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 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])."]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X138"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1480"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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]"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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]"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (not (coq.safe-dest-app X140 (global _) _)) \n (,\n (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string X140 X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) \n true, 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]"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1481"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1482"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1483"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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]"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.typecheck (global (const «HB_unnamed_factory_27»)) X140"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := mixin-src: X illtyped"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1484"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1485"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1486"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X146 = ok ;\n X146 = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1487"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.typecheck","coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.typecheck"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1488"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1489"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X146 = ok"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X140 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X146 = ok"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X146 := ok"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1481","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1490"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1486","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 319,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 319,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 319,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true, \n coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143, \n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) \n true"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X143, factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1491"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1492"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1493"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143, \n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := , (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1494"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1495"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1495,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1496"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1496,"runtime_id" : 8,"name" : "user:newgoal","payload" : [", (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1497"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1498"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1499"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3)."]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»)]"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global _"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1500"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1501"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1502"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append X148 [global (indt «nat»)] X149"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1497","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X148 := []"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [] [global (indt «nat»)] X149"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:","(std.append [] A0 A0) :- ."]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (indt «nat»)]"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X149 := [global (indt «nat»)]"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1494","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1503"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 331,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 331,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 331,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143, \n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1504"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1505"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1506"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.term->gref","coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 431, column 0, character 18295:","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 431, column 0, character 18295:","(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->gref A0 A1)."]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X143"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1507"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1508"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1504","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:","(coq.term->gref A0 _) :- (std.fatal-error-w-data\n term->gref: input has no global reference A0)."]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.term->gref","coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 430, column 0, character 18259:","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 430, column 0, character 18259:","(coq.term->gref (global A0) A0) :- (!)."]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X143 := indt «IsSelfA'.axioms_»"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1509"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1508","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:","(coq.term->gref A0 _) :- (std.fatal-error-w-data\n term->gref: input has no global reference A0)."]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 337,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 337,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 337,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [factory-provides (indt «IsSelfA'.axioms_») X144, \n list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-provides (indt «IsSelfA'.axioms_») X144"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1510"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides (indt «IsSelfA'.axioms_») X144"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1511"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1511,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1512"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1512,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides","factory-provides (indt «IsSelfA'.axioms_») X144"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 86, column 0, character 2829:"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 86, column 0, character 2829:","(factory-provides A0 A1) :- (std.do!\n [factory-alias->gref A0 A2, gref-deps A2 A3, \n w-params.map A3 (factory-provides.base A2) A1])."]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X144"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1513"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1514"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1515"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1516"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [gref-deps X150 X151, w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X150"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1517"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X150 (indt «IsSelfA'.axioms_») _"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1518"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1518,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X150 (indt «IsSelfA'.axioms_») _"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «HasA.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «HasA.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «HasB.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «HasB.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «IsSelfA.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «IsSelfA.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «IsSelfA'.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «IsSelfA'.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «IsSelfA'.axioms_»"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1519"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1520"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1514","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1514","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1514","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 346,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 346,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 346,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [gref-deps (indt «IsSelfA'.axioms_») X151, \n w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := gref-deps (indt «IsSelfA'.axioms_») X151"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) \n X144]"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1521"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["gref-deps (indt «IsSelfA'.axioms_») X151"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1522"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1523"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["gref-deps","gref-deps (indt «IsSelfA'.axioms_») X151"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(gref-deps (indt «IsSelfA'.axioms_») \n (w-params.nil TheType (sort (typ «interleave_context.382»)) (c0 \\ []))) :- ."]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X151 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 349,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 349,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 349,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1524"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1525"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1525,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1526"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1526,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.map","w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 245, column 0, character 9440:"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 245, column 0, character 9440:","(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-params.cons-name \n mk-w-params.nil-name A1 A2)."]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := factory-provides.base (indt «IsSelfA'.axioms_»)"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X144"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1527"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.then\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-name \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.then","w-params.then\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-name \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 239, column 0, character 9183:"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 239, column 0, character 9183:","(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n (sigma (c5 \\\n (pi (c6 \\\n (decl c6 c1 c2 =>\n A3 c0 c6 (c3 c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))))))) A4)."]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := mk-w-params.cons-name"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := mk-w-params.nil-name"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := factory-provides.base (indt «IsSelfA'.axioms_»)"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X144"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1528"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.fold\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.fold","w-params.fold\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 213, column 0, character 8143:"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 213, column 0, character 8143:","(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3)."]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := mk-w-params.cons-name"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X144"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1529"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.fold.params\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.fold.params","w-params.fold.params\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 224, column 0, character 8609:"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 224, column 0, character 8609:","(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])."]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := TheType"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := sort (typ «interleave_context.382»)"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\\n[]"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := []"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := X144"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1530"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1531"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.id->name TheType X152, std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 355,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 355,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 355,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.id->name TheType X152, std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.id->name TheType X152"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1532"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.id->name TheType X152"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1533"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1534"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.id->name","coq.id->name TheType X152"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 1296, column 0, character 51690:"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 1296, column 0, character 51690:","(coq.id->name A0 A1) :- (coq.string->name A0 A1)."]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := TheType"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X152"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1535"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.string->name TheType X152"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.string->name","coq.string->name TheType X152"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.string->name"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1536"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X152 = `TheType`"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X152 = `TheType`"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X152 := `TheType`"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 360,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 360,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 360,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.rev [] X153"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1537"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [] X153"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1538"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1539"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.rev","std.rev [] X153"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 70, column 0, character 2457:"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 70, column 0, character 2457:","(std.rev A0 A1) :- (std.rev.aux A0 [] A1)."]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X153"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1540"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev.aux [] [] X153"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.rev.aux","std.rev.aux [] [] X153"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 72, column 0, character 2534:"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 72, column 0, character 2534:","(std.rev.aux [] A0 A0) :- ."]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X153 := []"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 364,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 364,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 364,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1541"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1542"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1542,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1543"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1543,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["sigma","sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:rule","payload" : ["sigma"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1544"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:rule:sigma","payload" : ["success"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1545"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1546"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1546,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pi","pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:rule","payload" : ["pi"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1547"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1548"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides.base","factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 100, column 0, character 3290:"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 100, column 0, character 3290:","(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])."]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X154 c0"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1549"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.findall (from (indt «IsSelfA'.axioms_») 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)]"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.findall (from (indt «IsSelfA'.axioms_») 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)]"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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)]"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1550"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1551"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1552"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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-provides.one [] c0) (X154 c0)]"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») X155^1 X156^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X157^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1553"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:newgoal","payload" : ["from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:curgoal","payload" : ["from","from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «HasA.axioms_») (indt «HasA.axioms_») \n (const «HasA.identity_builder»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «A.axioms_») (indt «HasA.axioms_») \n (const «A.interleave_context_HasA_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «A.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «HasB.axioms_») (indt «HasB.axioms_») \n (const «HasB.identity_builder»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «B.axioms_») (indt «HasB.axioms_») \n (const «B.interleave_context_HasB_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «B.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA.axioms_») (indt «IsSelfA.axioms_») \n (const «IsSelfA.identity_builder»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «SelfA.axioms_») (indt «HasA.axioms_») \n (const «SelfA.interleave_context_HasA_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «SelfA.axioms_») (indt «HasB.axioms_») \n (const «SelfA.interleave_context_HasB_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «SelfA.axioms_») (indt «IsSelfA.axioms_») \n (const «SelfA.interleave_context_IsSelfA_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X0^1 := indt «IsSelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X1^1 := const «Builders_18.HB_unnamed_factory_24»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:curgoal","payload" : ["from","from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) :- ."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X0^1 := indt «HasB.axioms_»"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X1^1 := const «Builders_18.HB_unnamed_factory_22»"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:curgoal","payload" : ["from","from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) :- ."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X0^1 := indt «HasA.axioms_»"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X1^1 := const «Builders_18.HB_unnamed_factory_20»"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X157^1 := [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 374,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 374,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 374,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1, \n std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1556"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1557"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1558"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_mixin"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X158^1 := [X160^1 | X161^1]"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1559"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X160^1"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1560"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X161^1"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_mixin","from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X160^1"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:","(from_mixin (from _ A0 _) A0) :- ."]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA.axioms_»"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X160^1 := indt «IsSelfA.axioms_»"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X161^1"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_mixin"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X161^1 := [X162^1 | X163^1]"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1561"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X162^1"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1562"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X163^1"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_mixin","from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X162^1"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:","(from_mixin (from _ A0 _) A0) :- ."]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasB.axioms_»"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X162^1 := indt «HasB.axioms_»"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X163^1"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_mixin"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X163^1 := [X164^1 | X165^1]"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1563"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X164^1"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1564"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] from_mixin X165^1"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_mixin","from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X164^1"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:","(from_mixin (from _ A0 _) A0) :- ."]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasA.axioms_»"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X164^1 := indt «HasA.axioms_»"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] from_mixin X165^1"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X165^1 := []"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 383,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 383,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 383,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1565"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1566"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1567"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_builder"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X159^1 := [X166^1 | X167^1]"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1568"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_builder\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X166^1"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1569"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X167^1"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_builder","from_builder\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X166^1"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:","(from_builder (from _ _ A0) (global A0)) :- ."]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «Builders_18.HB_unnamed_factory_24»"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X166^1 := global (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X167^1"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_builder"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X167^1 := [X168^1 | X169^1]"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1570"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X168^1"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1571"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X169^1"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_builder","from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X168^1"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:","(from_builder (from _ _ A0) (global A0)) :- ."]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «Builders_18.HB_unnamed_factory_22»"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X168^1 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X169^1"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_builder"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X169^1 := [X170^1 | X171^1]"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1572"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X170^1"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1573"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] from_builder X171^1"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_builder","from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X170^1"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:","(from_builder (from _ _ A0) (global A0)) :- ."]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «Builders_18.HB_unnamed_factory_20»"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X170^1 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] from_builder X171^1"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X171^1 := []"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 392,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 392,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 392,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1574"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1575"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1575,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1576"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1576,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map2","std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:","(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6)."]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := indt «IsSelfA.axioms_»"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := [indt «HasB.axioms_», indt «HasA.axioms_»]"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := factory-provides.one [] c0"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign:simplify","payload" : ["X154 := c0 \\\nX172 c0"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X172^1 := [X173^1 | X174^1]"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1577"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_24»)) \n (indt «IsSelfA.axioms_») X173^1"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1578"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map2\n [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasB.axioms_», indt «HasA.axioms_»] (factory-provides.one [] c0) \n X174^1"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides.one","factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_24»)) \n (indt «IsSelfA.axioms_») X173^1"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:","(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins])."]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := indt «IsSelfA.axioms_»"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X173^1 := triple (indt «IsSelfA.axioms_») X175^1 c0"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1579"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1580"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1581"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1582"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Builder illtyped"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1583"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1584"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1585"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X179^1 = ok ;\n X179^1 = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1586"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.typecheck","coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.typecheck"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1587"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1588"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X179^1 = ok"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X176^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X179^1 = ok"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X179^1 := ok"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1580","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1589"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1585","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 405,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 405,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 405,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1590"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1591"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1592"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1593"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1594"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X177^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1595"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1593","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [c0] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X178^1"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3)."]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X178^1"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1596"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1597"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1594","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1594","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:","(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error-w-data subst-prod: not a product A0)."]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X178^1 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1598"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1597","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 414,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 414,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 414,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1599"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1600"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1601"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1602"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1603"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1604"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «IsSelfA'.phant_axioms»), c0]"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\napp\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X175^1"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1605"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1606"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1604","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1604","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pi","pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:rule","payload" : ["pi"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1607"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1608"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["match\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] with\n prod _ A1 A2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := indt «IsSelfA.axioms_»"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X175^1"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1609"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1610"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «IsSelfA.axioms_») X181^2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1611"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams X181^2 X182^2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1612"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X183^2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1613"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.spy (std.take X182^2 X183^2 X175^1)"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1608","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA.axioms_») X181^2"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA.axioms_»"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X181^2"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1614"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X181^2 (indt «IsSelfA.axioms_») _"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1615"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1615,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X181^2 (indt «IsSelfA.axioms_») _"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «HasA.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «HasA.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasA.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «HasB.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «HasB.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasB.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «IsSelfA.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «IsSelfA.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «IsSelfA'.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «IsSelfA'.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA.axioms_») X181^2"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA.axioms_»"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «IsSelfA.axioms_»"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1616"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «IsSelfA.axioms_») _ _"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1617"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «IsSelfA.axioms_») _ _"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasA.axioms_»"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasB.axioms_»"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1616","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1610","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1610","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1610","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-nparams","factory-nparams (indt «IsSelfA.axioms_») X182^2"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasA.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasA.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «A.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «A.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasB.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasB.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «B.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «B.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA.axioms_») 0) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X182^2 := 0"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X183^2"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X183^2 := [X184^2 | X185^2]"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1618"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 c0 X184^2"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1619"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X185^2"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 c0 X184^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X184^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1620"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X186^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1621"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X186^2 X187^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1622"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X188^2 | c6] c3) | X187^2]\n => copy c0 X184^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X186^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X186^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1623"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X189^2) X190^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1624"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X190^2 local-canonical-gref X186^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X189^2) X190^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X189^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X190^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1625"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X189^2) X190^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X189^2) X190^2"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X190^2 := []"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X186^2"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X186^2 := []"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X187^2"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X187^2 := []"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X188^2 | c6] c3)] =>\n copy c0 X184^2"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1628"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X184^2"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X184^2"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X184^2"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1629"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1630"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1631"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X184^2"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1632"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1633"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 441,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 441,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 441,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X184^2"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X184 c0 c1 := c0"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 443,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 443,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 443,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X185^2"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X185^2 := [X191^2 | X192^2]"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1634"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) X191^2"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1635"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X192^2"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) X191^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X191^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1636"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X193^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1637"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X193^2 X194^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1638"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X195^2 | c6] c3) | X194^2]\n =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X193^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X193^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1639"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X196^2) X197^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1640"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X197^2 local-canonical-gref X193^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X196^2) X197^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X196^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X197^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1641"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X196^2) X197^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X196^2) X197^2"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X197^2 := []"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X193^2"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X193^2 := []"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X194^2"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X194^2 := []"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X195^2 | c6] c3)] =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1644"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:451)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:451)\", line 1, column 0, character 0:","(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1)."]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := const «Builders_18.HB_unnamed_factory_20»"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [c0, c1]"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X191^2 := app [global (const «Builders_18.HB_unnamed_factory_20») | X198^2]"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1645"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pack? (const «Builders_18.HB_unnamed_factory_20») _"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1646"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1646,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1647"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1647,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [c0, c1] [X199^2, c0 | X200^2]"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1648"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1648,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X195^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1649"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1649,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X200^2 copy X201^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1650"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1650,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [global (const «elpi.hole»), X195^2 | X201^2] X198^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pack?","pack? (const «Builders_18.HB_unnamed_factory_20») _"]} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X191^2"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1651"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1652"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1652,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1653"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1653,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] = X191^2"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1654"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1654,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:","(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)."]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X191^2 := app X202^2"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1655"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1656"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 457,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 457,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 457,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0, c1]"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X202^2 := [X203^2 | X204^2]"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1657"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1658"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0, c1] copy X204^2"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X203^2"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1659"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (global (const «Builders_18.HB_unnamed_factory_20»))"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1660"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1660,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1661"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1661,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["global (const «Builders_18.HB_unnamed_factory_20») = X203^2"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1662"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1662,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (global (const «Builders_18.HB_unnamed_factory_20»))"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:","(copy (as (global _) A0) A0) :- (!)."]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X203^2 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1663"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 462,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 462,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 462,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0, c1] copy X204^2"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c1]"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X204^2 := [X205^2 | X206^2]"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1664"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X205^2"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1665"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c1] copy X206^2"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X205^2"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X205^2"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1666"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1667"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1668"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X205^2"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1669"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1670"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 467,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 467,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 467,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X205^2"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X205 c0 c1 := c0"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 469,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 469,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 469,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c1] copy X206^2"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X206^2 := [X207^2 | X208^2]"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1671"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c1 X207^2"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1672"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] copy X208^2"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c1 X207^2"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X207^2"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1673"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c1"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1674"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1675"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = X207^2"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1676"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c1"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1677"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = c1"]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = c1"]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 474,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 474,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 474,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = X207^2"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X207 c0 c1 := c1"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 476,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 476,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 476,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] copy X208^2"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X208^2 := []"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X192^2"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X192^2 := [X209^2 | X210^2]"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1678"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) X209^2"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1679"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] (copy-pack-holes c0) X210^2"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) X209^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X209^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1680"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X211^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1681"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X211^2 X212^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1682"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X213^2 | c6] c3) | X212^2]\n =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X211^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X211^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1683"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X214^2) X215^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1684"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X215^2 local-canonical-gref X211^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X214^2) X215^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X214^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X215^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1685"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X214^2) X215^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X214^2) X215^2"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X215^2 := []"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X211^2"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X211^2 := []"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X212^2"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X212^2 := []"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X213^2 | c6] c3)] =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1688"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:485)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:485)\", line 1, column 0, character 0:","(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1)."]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := const «Builders_18.HB_unnamed_factory_22»"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [c0, c1]"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X209^2 := app [global (const «Builders_18.HB_unnamed_factory_22») | X216^2]"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1689"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pack? (const «Builders_18.HB_unnamed_factory_22») _"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1690"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1690,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1691"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1691,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [c0, c1] [X217^2, c0 | X218^2]"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1692"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1692,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X213^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1693"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1693,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X218^2 copy X219^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1694"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1694,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [global (const «elpi.hole»), X213^2 | X219^2] X216^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pack?","pack? (const «Builders_18.HB_unnamed_factory_22») _"]} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X209^2"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1695"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1696"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1696,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1697"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1697,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] = X209^2"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1698"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1698,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:","(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)."]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X209^2 := app X220^2"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1699"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1700"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 491,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 491,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 491,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0, c1]"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X220^2 := [X221^2 | X222^2]"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1701"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1702"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0, c1] copy X222^2"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X221^2"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1703"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (global (const «Builders_18.HB_unnamed_factory_22»))"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1704"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1704,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1705"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1705,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["global (const «Builders_18.HB_unnamed_factory_22») = X221^2"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1706"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1706,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (global (const «Builders_18.HB_unnamed_factory_22»))"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:","(copy (as (global _) A0) A0) :- (!)."]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X221^2 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1707"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 496,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 496,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 496,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0, c1] copy X222^2"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c1]"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X222^2 := [X223^2 | X224^2]"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1708"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X223^2"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1709"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c1] copy X224^2"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X223^2"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X223^2"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1710"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1711"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1712"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X223^2"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1713"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1714"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 501,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 501,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 501,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X223^2"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X223 c0 c1 := c0"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 503,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 503,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 503,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c1] copy X224^2"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X224^2 := [X225^2 | X226^2]"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1715"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c1 X225^2"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1716"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] copy X226^2"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c1 X225^2"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X225^2"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1717"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c1"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1718"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1719"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = X225^2"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1720"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c1"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1721"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = c1"]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = c1"]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 508,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 508,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 508,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = X225^2"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X225 c0 c1 := c1"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 510,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 510,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 510,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] copy X226^2"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X226^2 := []"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] (copy-pack-holes c0) X210^2"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X210^2 := []"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.spy","std.spy\n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","File \"builtin_stdlib.elpi\", line 49, column 0, character 1863:"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0)."]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1722"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["trace.counter run X227^2"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1723"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (not (X227^2 = 0)) (std.debug-print run= X227^2) true"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1724"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1725"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1726"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["trace.counter","trace.counter run X227^2"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["trace.counter"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1727"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X227^2 = 0"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X227^2 = 0"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X227^2 := 0"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not (0 = 0)"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.debug-print run= 0"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1728"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not (0 = 0)"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1729"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1729,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1730"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1730,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print run= 0"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not (0 = 0)"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 0 = 0"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1731"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["0 = 0"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1732"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1733"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","0 = 0"]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1728","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1734"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.debug-print","std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","(std.debug-print A0 A1) :- (!), (coq.say A0 A1)."]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ----<<---- enter: "]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1735"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1736"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1724","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:","(std.debug-print A0 A1) :- (print A0 A1)."]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.say","coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.say"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.take","std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 88, column 0, character 2914:","File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 88, column 0, character 2914:","(std.take 0 _ []) :- (!)."]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X175^1 := []"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1737"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1725","File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3)."]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1725","File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:","(std.take _ _ _) :- (std.fatal-error take run out of list items)."]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.debug-print","std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","(std.debug-print A0 A1) :- (!), (coq.say A0 A1)."]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ---->>---- exit: "]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n []"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1738"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1739"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1726","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:","(std.debug-print A0 A1) :- (print A0 A1)."]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.say","coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.say"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1613","File \"builtin_stdlib.elpi\", line 49, column 0, character 1863:","(std.spy A0) :- (std.debug-print ---->>---- fail: A0), fail."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1611","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «SelfA.axioms_») 0) :- ."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1611","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA'.axioms_») 0) :- ."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1602","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 532,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 532,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 532,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map2","std.map2\n [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasB.axioms_», indt «HasA.axioms_»] (factory-provides.one [] c0) \n X174^1"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:","(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6)."]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := indt «HasB.axioms_»"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := [indt «HasA.axioms_»]"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := factory-provides.one [] c0"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X174^1 := [X228^1 | X229^1]"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1740"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_22»)) \n (indt «HasB.axioms_») X228^1"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1741"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1741,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map2 [global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasA.axioms_»] (factory-provides.one [] c0) X229^1"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides.one","factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_22»)) \n (indt «HasB.axioms_») X228^1"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:","(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins])."]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := indt «HasB.axioms_»"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X228^1 := triple (indt «HasB.axioms_») X230^1 c0"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1742"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1743"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1744"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1745"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Builder illtyped"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1746"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1747"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1748"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X234^1 = ok ;\n X234^1 = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1749"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.typecheck","coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.typecheck"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1750"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1751"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X234^1 = ok"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X231^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X234^1 = ok"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X234^1 := ok"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1743","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1752"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1748","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 545,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 545,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 545,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1753"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1754"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1755"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1756"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1757"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X232^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1758"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1756","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [c0] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X233^1"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3)."]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X233^1"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1759"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1760"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1757","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1757","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:","(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error-w-data subst-prod: not a product A0)."]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X233^1 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1761"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1760","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 554,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 554,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 554,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1762"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1763"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1763,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1764"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1764,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1765"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1766"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1766,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1767"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «IsSelfA'.phant_axioms»), c0]"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\napp\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X230^1"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1768"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1769"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1767","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1767","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pi","pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:rule","payload" : ["pi"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1770"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1771"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["match\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] with prod _ A1 A2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := indt «HasB.axioms_»"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X230^1"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1772"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1773"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «HasB.axioms_») X236^2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1774"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams X236^2 X237^2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1775"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] (copy-pack-holes c0) X238^2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1776"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.spy (std.take X237^2 X238^2 X230^1)"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1771","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «HasB.axioms_») X236^2"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasB.axioms_»"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X236^2"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1777"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X236^2 (indt «HasB.axioms_») _"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1778"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1778,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X236^2 (indt «HasB.axioms_») _"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «HasA.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «HasA.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasA.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «HasB.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «HasB.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasB.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «IsSelfA.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «IsSelfA.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «IsSelfA'.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «IsSelfA'.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «HasB.axioms_») X236^2"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasB.axioms_»"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «HasB.axioms_»"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1779"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «HasB.axioms_») _ _"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1780"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «HasB.axioms_») _ _"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with indt «HasA.axioms_»"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1779","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1779","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1773","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1773","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1773","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-nparams","factory-nparams (indt «HasB.axioms_») X237^2"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasA.axioms_») 1) :- ."]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with indt «HasA.axioms_»"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «A.axioms_») 1) :- ."]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with indt «A.axioms_»"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasB.axioms_») 1) :- ."]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X237^2 := 1"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] (copy-pack-holes c0) X238^2"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0]"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X238^2 := [X239^2 | X240^2]"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1781"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 \n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1782"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0] (copy-pack-holes c0) X240^2"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 \n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X239^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1783"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X241^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1784"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X241^2 X242^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1785"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X243^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X243^2 | c6] c3) | X242^2]\n =>\n copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X241^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X241^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1786"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X244^2) X245^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1787"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X245^2 local-canonical-gref X241^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X244^2) X245^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X244^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X245^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1788"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X244^2) X245^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X244^2) X245^2"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X245^2 := []"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X241^2"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X241^2 := []"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X242^2"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X242^2 := []"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X243^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X243^2 | c6] c3)] =>\n copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1791"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:577)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:577)\", line 1, column 0, character 0:","(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1)."]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := const «Builders_18.Builders_18_T__canonical__interleave_context_A»"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [c0, c1]"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X239^2 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A») | X246^2]"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1792"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1793"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1793,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1794"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1794,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [c0, c1] [X247^2, c0 | X248^2]"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1795"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1795,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X243^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1796"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1796,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X248^2 copy X249^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1797"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1797,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [global (const «elpi.hole»), X243^2 | X249^2] X246^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pack?","pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _"]} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X239^2"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1798"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1799"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1799,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1800"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1800,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] = X239^2"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1801"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1801,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:","(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)."]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X239^2 := app X250^2"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1802"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1803"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 583,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 583,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 583,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0, c1]"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X250^2 := [X251^2 | X252^2]"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1804"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1805"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0, c1] copy X252^2"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X251^2"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1806"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1807"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1807,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1808"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1808,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["global (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)\n = X251^2"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1809"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1809,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:","(copy (as (global _) A0) A0) :- (!)."]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X251^2 := global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1810"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 588,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 588,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 588,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0, c1] copy X252^2"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c1]"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X252^2 := [X253^2 | X254^2]"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1811"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X253^2"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1812"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c1] copy X254^2"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X253^2"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X253^2"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1813"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1814"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1815"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X253^2"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1816"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1817"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 593,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 593,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 593,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X253^2"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X253 c0 c1 := c0"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 595,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 595,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 595,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c1] copy X254^2"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X254^2 := [X255^2 | X256^2]"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1818"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c1 X255^2"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1819"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] copy X256^2"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c1 X255^2"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X255^2"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1820"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c1"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1821"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1822"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = X255^2"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1823"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c1"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1824"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = c1"]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = c1"]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 600,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 600,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 600,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = X255^2"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X255 c0 c1 := c1"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 602,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 602,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 602,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] copy X256^2"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X256^2 := []"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0] (copy-pack-holes c0) X240^2"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X240^2 := [X257^2 | X258^2]"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1825"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 c0 X257^2"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1826"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] (copy-pack-holes c0) X258^2"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 c0 X257^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X257^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1827"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X259^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1828"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X259^2 X260^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1829"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X261^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X261^2 | c6] c3) | X260^2]\n => copy c0 X257^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X259^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X259^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1830"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X262^2) X263^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1831"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X263^2 local-canonical-gref X259^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X262^2) X263^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X262^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X263^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1832"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X262^2) X263^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X262^2) X263^2"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X263^2 := []"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X259^2"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X259^2 := []"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X260^2"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X260^2 := []"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X261^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X261^2 | c6] c3)] =>\n copy c0 X257^2"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1835"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X257^2"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X257^2"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X257^2"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1836"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1837"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1838"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X257^2"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1839"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1840"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 615,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 615,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 615,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X257^2"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X257 c0 c1 := c0"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 617,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 617,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 617,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] (copy-pack-holes c0) X258^2"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X258^2 := []"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.spy","std.spy\n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","File \"builtin_stdlib.elpi\", line 49, column 0, character 1863:"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0)."]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1841"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["trace.counter run X264^2"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1842"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (not (X264^2 = 0)) (std.debug-print run= X264^2) true"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1843"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1844"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1845"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1845,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ---->>---- exit: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["trace.counter","trace.counter run X264^2"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["trace.counter"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1846"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X264^2 = 0"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X264^2 = 0"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X264^2 := 0"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not (0 = 0)"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.debug-print run= 0"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1847"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not (0 = 0)"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1848"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1848,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1849"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1849,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print run= 0"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not (0 = 0)"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 0 = 0"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1850"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["0 = 0"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1851"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1852"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","0 = 0"]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1847","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1853"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.debug-print","std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","(std.debug-print A0 A1) :- (!), (coq.say A0 A1)."]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ----<<---- enter: "]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1854"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1855"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1843","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:","(std.debug-print A0 A1) :- (print A0 A1)."]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.say","coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.say"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.take","std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3)."]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 1"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [c0]"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify X230^1 with [app EXN PRINTING: Elpi__Runtime.HO.RestrictionFailure"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:","(std.take _ _ _) :- (std.fatal-error take run out of list items)."]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1856"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.fatal-error take run out of list items"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.fatal-error","std.fatal-error take run out of list items"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 9, column 0, character 465:","File \"builtin_stdlib.elpi\", line 16, column 0, character 659:"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 9, column 0, character 465:","(std.fatal-error A0) :- (!), (stop A0)."]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := take run out of list items"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1857"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1858"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["stop take run out of list items"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1856","File \"builtin_stdlib.elpi\", line 16, column 0, character 659:","(std.fatal-error A0) :- (halt A0)."]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["stop","stop take run out of list items"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 67, column 0, character 960:","File \"/build/source/./elpi/coq-lib.elpi\", line 22, column 0, character 794:","File \"/build/source/./elpi/coq-lib.elpi\", line 23, column 0, character 852:"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 67, column 0, character 960:","stop :- (halt)."]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 22, column 0, character 794:","(stop A0) :- (get-option ltac:fail A1), (!), (coq.ltac.fail A1 A0)."]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := take run out of list items"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1859"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option ltac:fail X265^2"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1860"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1860,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1861"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1861,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.ltac.fail X265^2 take run out of list items"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option ltac:fail X265^2"]} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["stop","stop take run out of list items"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 23, column 0, character 852:"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 23, column 0, character 852:","(stop A0) :- (coq.error A0)."]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := take run out of list items"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1862"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.error take run out of list items"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 638,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.error","coq.error take run out of list items"]} +{"step" : 638,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 638,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.error"]} diff --git a/src/tests/sources/broken_trace2.json b/src/tests/sources/broken_trace2.json new file mode 100644 index 0000000..35c595b --- /dev/null +++ b/src/tests/sources/broken_trace2.json @@ -0,0 +1,5338 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] =>\n main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] =>\n main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1121,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1122"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["main","main\n [const-decl _ \n (some\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0])) (arity X1)]"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"./structures.v\", line 594, column 0, character 2:","File \"./structures.v\", line 596, column 0, character 140:","File \"./structures.v\", line 600, column 0, character 368:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"./structures.v\", line 594, column 0, character 2:","(main [const-decl A0 (some A1) A2]) :- (!), \n (with-attributes (with-logging (instance.declare-const A0 A1 A2 _)))."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := _"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := arity X1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1122,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1123"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1124"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1122","File \"./structures.v\", line 596, column 0, character 140:","(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 (instance.declare-existing A0 A1)))."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1122","File \"./structures.v\", line 600, column 0, character 368:","(main _) :- (coq.error\n Usage: HB.instance Definition := T ...)."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1123,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-attributes","with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 14, column 0, character 453:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 14, column 0, character 453:","(with-attributes A0) :- (attributes A1), \n (pi (c0 \\\n (pi (c1 \\\n (pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi (c8 \\ (supported-attribute (att c8 string) :- !)) =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4))))))))))))))))) =>\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 compress_coercions 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 => (save-docstring , A0))."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1124,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1125"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["attributes X2"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1126"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes X2 \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 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"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1127"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1128"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X3 =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["attributes","attributes X2"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:1)\", line 1, column 0, character 0:"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:1)\", line 1, column 0, character 0:","(attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X2 := [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 1125,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","pi c0 \\\n pi c1 \\\n pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n parse-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1126,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1129"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.parse-attributes","coq.parse-attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] \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 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"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 633, column 0, character 27114:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 633, column 0, character 27114:","(coq.parse-attributes A0 A1 A2) :- (std.map A1 (c0 \\ (c1 \\\n (c1 = supported-attribute c0))) A3), \n (A3 => parse-attributes.aux A0 A2), (!)."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 compress_coercions 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]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X3"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1129,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1130"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 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 = supported-attribute c0) X4"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1131"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X4 =>\n parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1132"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 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 = supported-attribute c0) X4"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att verbose bool"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X4 := [X5 | X6]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1130,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1133"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X5 = supported-attribute (att verbose bool)"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1134"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 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 = supported-attribute c0) X6"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X5 = supported-attribute (att verbose bool)"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X5 := supported-attribute (att verbose bool)"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 1133,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 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 = supported-attribute c0) X6"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att mathcomp bool"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X6 := [X7 | X8]"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1134,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1135"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X7 = supported-attribute (att mathcomp bool)"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1136"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att mathcomp.axiom string, att short.type string, 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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X8"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X7 = supported-attribute (att mathcomp bool)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X7 := supported-attribute (att mathcomp bool)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 1135,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att mathcomp.axiom string, att short.type string, 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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X8"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att mathcomp.axiom string"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 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]"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X8 := [X9 | X10]"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1136,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1137"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X9 = supported-attribute (att mathcomp.axiom string)"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1138"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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, 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 = supported-attribute c0) X10"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X9 = supported-attribute (att mathcomp.axiom string)"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X9 := supported-attribute (att mathcomp.axiom string)"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 1137,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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, 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 = supported-attribute c0) X10"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att short.type string"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X10 := [X11 | X12]"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1138,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1139"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X11 = supported-attribute (att short.type string)"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1140"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 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 = supported-attribute c0) X12"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X11 = supported-attribute (att short.type string)"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X11 := supported-attribute (att short.type string)"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 1139,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 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 = supported-attribute c0) X12"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att short.pack string"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X12 := [X13 | X14]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1140,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1141"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X13 = supported-attribute (att short.pack string)"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1142"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 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 = supported-attribute c0) X14"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X13 = supported-attribute (att short.pack string)"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X13 := supported-attribute (att short.pack string)"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 1141,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 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 = supported-attribute c0) X14"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att infer attmap"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X14 := [X15 | X16]"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1142,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1143"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X15 = supported-attribute (att infer attmap)"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1144"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 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 = supported-attribute c0) X16"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X15 = supported-attribute (att infer attmap)"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X15 := supported-attribute (att infer attmap)"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 1143,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 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 = supported-attribute c0) X16"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att key string"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X16 := [X17 | X18]"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1144,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1145"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X17 = supported-attribute (att key string)"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1146"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 = supported-attribute c0) X18"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X17 = supported-attribute (att key string)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X17 := supported-attribute (att key string)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 1145,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 = supported-attribute c0) X18"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att arg_sort bool"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X18 := [X19 | X20]"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1146,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1147"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X19 = supported-attribute (att arg_sort bool)"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1148"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 = supported-attribute c0) X20"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X19 = supported-attribute (att arg_sort bool)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X19 := supported-attribute (att arg_sort bool)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 1147,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 = supported-attribute c0) X20"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att log bool"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att log.raw bool, att compress_coercions 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]"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X20 := [X21 | X22]"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1148,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1149"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X21 = supported-attribute (att log bool)"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1150"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att log.raw bool, att compress_coercions 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 = supported-attribute c0) X22"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X21 = supported-attribute (att log bool)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X21 := supported-attribute (att log bool)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 1149,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att log.raw bool, att compress_coercions 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 = supported-attribute c0) X22"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att log.raw bool"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att compress_coercions 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]"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X22 := [X23 | X24]"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1150,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1151"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X23 = supported-attribute (att log.raw bool)"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1152"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 = supported-attribute c0) X24"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X23 = supported-attribute (att log.raw bool)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X23 := supported-attribute (att log.raw bool)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 1151,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 = supported-attribute c0) X24"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att compress_coercions bool"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X24 := [X25 | X26]"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1152,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1153"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X25 = supported-attribute (att compress_coercions bool)"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1154"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 = supported-attribute c0) X26"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X25 = supported-attribute (att compress_coercions bool)"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X25 := supported-attribute (att compress_coercions bool)"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 1153,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 = supported-attribute c0) X26"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att export bool"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X26 := [X27 | X28]"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1154,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1155"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X27 = supported-attribute (att export bool)"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1156"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 = supported-attribute c0) X28"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X27 = supported-attribute (att export bool)"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X27 := supported-attribute (att export bool)"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 1155,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","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 = supported-attribute c0) X28"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att skip string"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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]"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X28 := [X29 | X30]"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1156,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1157"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X29 = supported-attribute (att skip string)"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1158"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\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 = supported-attribute c0) X30"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X29 = supported-attribute (att skip string)"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X29 := supported-attribute (att skip string)"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 1157,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\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 = supported-attribute c0) X30"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att local bool"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att fail bool, att doc string, att primitive_class bool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X30 := [X31 | X32]"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1158,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1159"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X31 = supported-attribute (att local bool)"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1160"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [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 = supported-attribute c0) X32"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X31 = supported-attribute (att local bool)"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X31 := supported-attribute (att local bool)"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 1159,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [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 = supported-attribute c0) X32"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att fail bool"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X32 := [X33 | X34]"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1160,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1161"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X33 = supported-attribute (att fail bool)"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1162"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X34"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X33 = supported-attribute (att fail bool)"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X33 := supported-attribute (att fail bool)"]} +{"step" : 37,"kind" : ["Info"],"goal_id" : 1161,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X34"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att doc string"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X34 := [X35 | X36]"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1162,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1163"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X35 = supported-attribute (att doc string)"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1164"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X36"]} +{"step" : 38,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X35 = supported-attribute (att doc string)"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X35 := supported-attribute (att doc string)"]} +{"step" : 39,"kind" : ["Info"],"goal_id" : 1163,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X36"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att primitive_class bool"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att primitive bool, att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X36 := [X37 | X38]"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1164,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1165"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X37 = supported-attribute (att primitive_class bool)"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1166"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X38"]} +{"step" : 40,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X37 = supported-attribute (att primitive_class bool)"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X37 := supported-attribute (att primitive_class bool)"]} +{"step" : 41,"kind" : ["Info"],"goal_id" : 1165,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [att primitive bool, att non_forgetful_inheritance bool, att hnf bool] (c0 \\\n c1 \\ c1 = supported-attribute c0) X38"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att primitive bool"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att non_forgetful_inheritance bool, att hnf bool]"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X38 := [X39 | X40]"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1166,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1167"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X39 = supported-attribute (att primitive bool)"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1168"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X40"]} +{"step" : 42,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X39 = supported-attribute (att primitive bool)"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X39 := supported-attribute (att primitive bool)"]} +{"step" : 43,"kind" : ["Info"],"goal_id" : 1167,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [att non_forgetful_inheritance bool, att hnf bool] (c0 \\ c1 \\\n c1 = supported-attribute c0) X40"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att non_forgetful_inheritance bool"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [att hnf bool]"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X40 := [X41 | X42]"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1168,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1169"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X41 = supported-attribute (att non_forgetful_inheritance bool)"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1170"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [att hnf bool] (c0 \\ c1 \\ c1 = supported-attribute c0) X42"]} +{"step" : 44,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X41 = supported-attribute (att non_forgetful_inheritance bool)"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X41 := supported-attribute (att non_forgetful_inheritance bool)"]} +{"step" : 45,"kind" : ["Info"],"goal_id" : 1169,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [att hnf bool] (c0 \\ c1 \\ c1 = supported-attribute c0) X42"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := att hnf bool"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\\nc1 = supported-attribute c0"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X42 := [X43 | X44]"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1170,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1171"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X43 = supported-attribute (att hnf bool)"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1172"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] (c0 \\ c1 \\ c1 = supported-attribute c0) X44"]} +{"step" : 46,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X43 = supported-attribute (att hnf bool)"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X43 := supported-attribute (att hnf bool)"]} +{"step" : 47,"kind" : ["Info"],"goal_id" : 1171,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] (c0 \\ c1 \\ c1 = supported-attribute c0) X44"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X44 := []"]} +{"step" : 48,"kind" : ["Info"],"goal_id" : 1172,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[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-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-attribute (att hnf bool)] =>\n parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1131,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1173"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 49,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["parse-attributes.aux","parse-attributes.aux\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] X3"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:6)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 637, column 0, character 27263:","File \"/build/source/./elpi/coq-lib.elpi\", line 641, column 0, character 27574:","File \"/build/source/./elpi/coq-lib.elpi\", line 646, column 0, character 27781:","File \"/build/source/./elpi/coq-lib.elpi\", line 652, column 0, character 28097:"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:6)\", line 1, column 0, character 0:","(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 637, column 0, character 27263:","(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A5 = 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 (att c0 string) :- !)) =>\n parse-attributes.aux A1 A7), (std.append A6 [get-option A5 A7] A4)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 641, column 0, character 27574:","(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (!), \n (parse-attributes.aux A2 A3 A5), \n (if (A3 = ) (A6 = A0) (A6 is A3 ^ . ^ A0)), \n (parse-attributes.aux A1 A6 A7), (std.append A5 A7 A4)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 646, column 0, character 27781:","(parse-attributes.aux [attribute A0 (leaf-str A1) | A2] A3 A4) :- (!), \n (if (A3 = ) (A5 = A0) (A5 is A3 ^ . ^ A0)), \n (coq.valid-str-attribute A5 A1 A6 A7), \n (if (A7 = error A8) (coq.error A8) true), \n (if (A6 = some A9) (A4 = [get-option A5 A9 | A10]) (A4 = A10)), \n (parse-attributes.aux A2 A3 A10)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (leaf-str A1) | A2]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 652, column 0, character 28097:","(parse-attributes.aux [attribute A0 (leaf-loc A1) | A2] A3 A4) :- (!), \n (if (A3 = ) (A5 = A0) (A5 is A3 ^ . ^ A0)), \n (coq.valid-loc-attribute A5 A1 A6), \n (if (A6 = error A7) (coq.error A7) true), (A4 = [get-option A5 A1 | A8]), \n (parse-attributes.aux A2 A3 A8)."]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := "]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X3"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1173,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1174"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1175"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1176"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.valid-loc-attribute X45 File \"(stdin)\", line 1, column 2, character 3: \n X46"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1177"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (X46 = error X47) (coq.error X47) true"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1178"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X3 = [get-option X45 File \"(stdin)\", line 1, column 2, character 3: | X48]"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1179"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["parse-attributes.aux [] X48"]} +{"step" : 50,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 51,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 51,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 51,"kind" : ["Info"],"goal_id" : 1174,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := = "]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X45 = elpi.loc"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1175,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1180"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:newgoal","payload" : [" = "]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1181"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1182"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X45 = elpi.loc"]} +{"step" : 52,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["="," = "]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 53,"kind" : ["Info"],"goal_id" : 1180,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1175","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 54,"kind" : ["Info"],"goal_id" : 1181,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X45 = elpi.loc"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X45 := elpi.loc"]} +{"step" : 55,"kind" : ["Info"],"goal_id" : 1182,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.valid-loc-attribute","coq.valid-loc-attribute elpi.loc \n File \"(stdin)\", line 1, column 2, character 3: X46"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 594, column 0, character 25390:"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 594, column 0, character 25390:","(coq.valid-loc-attribute A0 A1 A2) :- (if (supported-attribute (att A0 loc)) \n (if (primitive? A1 Loc.t) (A2 = ok) \n ((std.any->string A1 A4 ,\n calc\n (Attribute ^ A0 ^\n takes a loc, got ^ A4) A5)\n , A2 = error A5)) \n (if\n (supported-attribute\n att-ignore-unknown) (A2 = ok) \n (calc\n (Attribute ^ A0 ^\n is not supported) A3 ,\n A2 = error A3)))."]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := elpi.loc"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X46"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1176,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1183"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (supported-attribute (att elpi.loc loc)) \n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))"]} +{"step" : 56,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (supported-attribute (att elpi.loc loc)) \n (if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)) \n (if (supported-attribute att-ignore-unknown) (X46 = ok) \n (calc (Attribute ^ elpi.loc ^ is not supported) X51 , X46 = error X51))"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := supported-attribute (att elpi.loc loc)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1183,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1184"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["supported-attribute (att elpi.loc loc)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1185"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1186"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)"]} +{"step" : 57,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["supported-attribute","supported-attribute (att elpi.loc loc)"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"(context step_id:49)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 573, column 0, character 24545:","File \"/build/source/./elpi/coq-lib.elpi\", line 574, column 0, character 24587:"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att verbose bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att verbose bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att mathcomp bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att mathcomp bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att mathcomp.axiom string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att mathcomp.axiom string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att short.type string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att short.type string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att short.pack string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att short.pack string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att infer attmap)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att infer attmap"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att key string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att key string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att arg_sort bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att arg_sort bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att log bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att log bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att log.raw bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att log.raw bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att compress_coercions bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att compress_coercions bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att export bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att export bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att skip string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att skip string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att local bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att local bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att fail bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att fail bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att doc string)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att doc string"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att primitive_class bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att primitive_class bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att primitive bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att primitive bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att non_forgetful_inheritance bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att non_forgetful_inheritance bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:49)\", line 1, column 0, character 0:","(supported-attribute (att hnf bool)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify att elpi.loc loc with att hnf bool"]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 573, column 0, character 24545:","(supported-attribute (att elpi.loc loc)) :- ."]} +{"step" : 58,"kind" : ["Info"],"goal_id" : 1184,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1184","File \"/build/source/./elpi/coq-lib.elpi\", line 574, column 0, character 24587:","(supported-attribute (att A0 string)) :- (rex_match ^elpi\\. A0)."]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1183","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 59,"kind" : ["Info"],"goal_id" : 1185,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X46 = ok"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1186,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1187"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1188"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1189"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X46 = ok"]} +{"step" : 60,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["primitive?","primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 373, column 0, character 8225:"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 373, column 0, character 8225:","(primitive? A0 A1) :- (is_cdata A0 (ctype A1))."]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Loc.t"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1187,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1190"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["is_cdata File \"(stdin)\", line 1, column 2, character 3: (ctype Loc.t)"]} +{"step" : 61,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["is_cdata","is_cdata File \"(stdin)\", line 1, column 2, character 3: (ctype Loc.t)"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["is_cdata"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1190,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1191"]} +{"step" : 62,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ctype Loc.t = ctype Loc.t"]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ctype Loc.t = ctype Loc.t"]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 63,"kind" : ["Info"],"goal_id" : 1191,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1186","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 64,"kind" : ["Info"],"goal_id" : 1188,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X46 = ok"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X46 := ok"]} +{"step" : 65,"kind" : ["Info"],"goal_id" : 1189,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (ok = error X47) (coq.error X47) true"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := coq.error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1192"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1193"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1193,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1194"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1194,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.error X47"]} +{"step" : 66,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = error X47"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify ok with error X47"]} +{"step" : 67,"kind" : ["Info"],"goal_id" : 1192,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["fail"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (ok = error X47) (coq.error X47) true"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1177,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1195"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 68,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 69,"kind" : ["Info"],"goal_id" : 1195,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X3 =\n [get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3: | X48]"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X3 := [get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3: | X48]"]} +{"step" : 70,"kind" : ["Info"],"goal_id" : 1178,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["parse-attributes.aux","parse-attributes.aux [] X48"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 636, column 0, character 27233:"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 636, column 0, character 27233:","(parse-attributes.aux [] _ []) :- ."]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X48 := []"]} +{"step" : 71,"kind" : ["Info"],"goal_id" : 1179,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 72,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 72,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 72,"kind" : ["Info"],"goal_id" : 1132,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 73,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 73,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 73,"kind" : ["Info"],"goal_id" : 1127,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:] =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1128,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1196"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 74,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1197"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["save-docstring"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1198"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 75,"kind" : ["Info"],"goal_id" : 1196,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["save-docstring","save-docstring"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 81, column 0, character 2429:"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 81, column 0, character 2429:","save-docstring :- (if (get-option elpi.loc A0 , get-option doc A1) \n (acc-clause _ (docstring A0 A1)) true)."]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1197,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1199"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true"]} +{"step" : 76,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.loc X52 , get-option doc X53"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := acc-clause _ (docstring X52 X53)"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1200"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X52 , get-option doc X53"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1201"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1201,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1202"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1202,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["acc-clause _ (docstring X52 X53)"]} +{"step" : 77,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option elpi.loc X52 , get-option doc X53"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1203"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X52"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1204"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option doc X53"]} +{"step" : 78,"kind" : ["Info"],"goal_id" : 1200,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.loc X52"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:","(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- ."]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X52 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 79,"kind" : ["Info"],"goal_id" : 1203,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option doc X53"]} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 80,"kind" : ["Info"],"goal_id" : 1204,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option elpi.loc X52 , get-option doc X53) \n (acc-clause _ (docstring X52 X53)) true"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1199,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1205"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 81,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 82,"kind" : ["Info"],"goal_id" : 1205,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-logging","with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 267, column 0, character 10575:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 283, column 0, character 11151:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 267, column 0, character 10575:","(with-logging A0) :- (get-option elpi.hb.log _ , A1 = tt ;\n get-option elpi.hb.log.raw _ , A1 = 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.concat \n [, HIERARCHY BUILDER PATCH v1, A4, ] A7), \n (output A6 A7), (close_out A6), (log.private.logger A8 A1 => 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)."]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1206"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1207"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1207,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1208"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1208,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X55"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1209"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1209,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["loc.fields X55 X56 _ _ _ _"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1210"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1210,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.any->string X55 X57"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1211"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1211,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X58 is X56 ^ .hb"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1212"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1212,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["open_append X58 X59"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1213"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1213,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.string.concat \n [, HIERARCHY BUILDER PATCH v1, X57, ] X60"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1214"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1214,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["output X59 X60"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1215"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1215,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["close_out X59"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1216"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1216,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X61 X54 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1217"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1217,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-close X61"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1218"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1218,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.intersperse coq.pp.spc X61 X62"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1219"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1219,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.pp->string (coq.pp.box (coq.pp.v 0) X62) X63"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1220"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1220,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["open_append X58 X64"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1221"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1221,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["output X64 X63"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1222"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1222,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["close_out X64"]} +{"step" : 83,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.hb.log _ , X54 = tt"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1223"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log _ , X54 = tt"]} +{"step" : 84,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option elpi.hb.log _ , X54 = tt"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1224"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log _"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1225"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1225,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X54 = tt"]} +{"step" : 85,"kind" : ["Info"],"goal_id" : 1223,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.hb.log _"]} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 86,"kind" : ["Info"],"goal_id" : 1224,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1206,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1226"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 87,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option elpi.hb.log.raw _ , X54 = ff"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1227"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.hb.log.raw _"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1228"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1228,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X54 = ff"]} +{"step" : 88,"kind" : ["Info"],"goal_id" : 1226,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.hb.log.raw _"]} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 89,"kind" : ["Info"],"goal_id" : 1227,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-logging","with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 283, column 0, character 11151:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 283, column 0, character 11151:","(with-logging A0) :- (get-option log tt , A1 = tt ;\n get-option log.raw tt , A1 = ff), (!), \n (log.private.logger A2 A1 => 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*))."]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1229"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1230"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1230,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1231"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1231,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X66 X65 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1232"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1232,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-close X66"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1233"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1233,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.intersperse coq.pp.spc X66 X67"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1234"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1234,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.pp->string (coq.pp.box (coq.pp.v 0) X67) X68"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1235"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1235,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say (* \n X68 \n*)"]} +{"step" : 90,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option log tt , X65 = tt"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1236"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log tt , X65 = tt"]} +{"step" : 91,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option log tt , X65 = tt"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1237"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log tt"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1238"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1238,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X65 = tt"]} +{"step" : 92,"kind" : ["Info"],"goal_id" : 1236,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option log tt"]} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 93,"kind" : ["Info"],"goal_id" : 1237,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option log.raw tt , X65 = ff"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1229,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1239"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log.raw tt , X65 = ff"]} +{"step" : 94,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","get-option log.raw tt , X65 = ff"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1240"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option log.raw tt"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1241"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1241,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X65 = ff"]} +{"step" : 95,"kind" : ["Info"],"goal_id" : 1239,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option log.raw tt"]} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 96,"kind" : ["Info"],"goal_id" : 1240,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["with-logging","with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 289, column 0, character 11419:","(with-logging A0) :- A0."]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1198,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1242"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 97,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.declare-const","instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 25, column 0, character 1064:"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 25, column 0, character 1064:","(instance.declare-const A0 A1 A2 A3) :- (std.do!\n [std.assert-ok!\n (coq.elaborate-arity-skeleton A2 \n _ A4) Definition type illtyped, \n coq.arity->term A4 A5, \n std.assert-ok!\n (coq.elaborate-skeleton A1 A5 A6) \n Definition illtyped, \n if (A4 = arity A7) \n (if-verbose\n (coq.say\n HB: skipping section opening)\n , A8 = A6) \n (,\n (, (new_int A21) \n (std.any->string A21 A22) \n (A9 is hb_instance_ ^ 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 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-discharging\n A8 A14, \n instance.private.optimize-body\n A14 A15, \n if (A0 = _) \n (, (new_int A23) \n (std.any->string A23 A24) \n (A16 is\n HB_unnamed_factory_ ^ A24)) \n (A16 = A0), \n log.coq.env.add-const-noimplicits-failondup\n A16 A15 A7 ff A17, \n A18 = global (const A17), \n std.drop A13 A11 [A19 | _], \n instance.private.check-non-forgetful-inheritance\n A19 A12, \n instance.private.declare-instance\n A12 A19 A18 A20 A3, \n if (A4 = arity _) true \n (if-verbose\n (header A25 ,\n coq.say A25 \n closing instance section) ,\n log.coq.env.end-section-name A9), \n acc-clauses current A20])."]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := _"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := arity X1"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1242,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1243"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 98,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [coq.arity->term X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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, \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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1243,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1244"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1245"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1246"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.arity->term X69 X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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]"]} +{"step" : 99,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok! (coq.elaborate-arity-skeleton (arity X1) _ X69) \n Definition type illtyped"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.elaborate-arity-skeleton (arity X1) _ X69"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Definition type illtyped"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1244,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1247"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elaborate-arity-skeleton (arity X1) _ X69 X92"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1248"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1249"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X92 = ok ;\n X92 = error X93 , std.fatal-error-w-data Definition type illtyped X93"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1250"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 100,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elaborate-arity-skeleton","coq.elaborate-arity-skeleton (arity X1) _ X69 X92"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 363, column 0, character 15598:"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 363, column 0, character 15598:","(coq.elaborate-arity-skeleton (arity A0) A1 (arity A2) A3) :- (coq.elaborate-ty-skeleton\n A0 A1 A2 A3)."]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X1"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X69 := arity X94"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X92"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1247,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1251"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elaborate-ty-skeleton X1 X95 X94 X92"]} +{"step" : 101,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elaborate-ty-skeleton","coq.elaborate-ty-skeleton X1 X95 X94 X92"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.elaborate-ty-skeleton"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1252"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X95 = typ «interleave_context.403»"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1253"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X94 = X96"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1254"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1251,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1255"]} +{"step" : 102,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X92 = ok"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X95 = typ «interleave_context.403»"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X95 := typ «interleave_context.403»"]} +{"step" : 103,"kind" : ["Info"],"goal_id" : 1252,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X94 = X96"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X94 := X96"]} +{"step" : 104,"kind" : ["Info"],"goal_id" : 1253,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["declare-evar","declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 163, column 0, character 6258:"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 163, column 0, character 6258:","(declare-evar A0 A1 A2 A3) :- (declare_constraint (declare-evar A0 A1 A2 A3) \n [A1])."]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X97"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := sort (typ «interleave_context.403»)"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X96"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1254,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1256"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare_constraint\n (declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)) [\n X97]"]} +{"step" : 105,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint\n (declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)) [\n X97]"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1257"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)"]} +{"step" : 106,"kind" : ["Info"],"goal_id" : 1256,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:CHR:try","payload" : ["File \"coq-builtin.elpi\", line 178, column 4, character 6801:"," \\ (declare-evar A0 A1 A2 A3) <=> (A0 => evar A1 A2 A3)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A1 := uvar frozen--1156 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A2 := sort (typ «interleave_context.403»)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 9,"name" : "user:assign","payload" : ["A3 := uvar frozen--1157 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1259,"runtime_id" : 9,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1260"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:CHR:rule-fired","payload" : ["File \"coq-builtin.elpi\", line 178, column 4, character 6801:"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1257,"runtime_id" : 8,"name" : "user:CHR:rule-remove-constraints","payload" : ["1257"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:CHR:store:before","payload" : ["1257"," declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96) /* suspended on X97 */"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule","payload" : ["resume"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:rule:resume:resumed","payload" : ["_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 107,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:resume","payload" : ["success"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","_ => [] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1260,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1261"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 108,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[] => evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1261,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1262"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 109,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["evar","evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","File \"coq-builtin.elpi\", line 197, column 0, character 7585:"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true)."]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X97"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := sort (typ «interleave_context.403»)"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X96"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1262,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1263"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1264"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true"]} +{"step" : 110,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1262","File \"coq-builtin.elpi\", line 197, column 0, character 7585:","(evar _ _ _) :- ."]} +{"step" : 111,"kind" : ["Info"],"goal_id" : 1263,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var X96"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) X96) [X97, X96]"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1264,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1265"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var X96"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1266"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1267"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]"]} +{"step" : 112,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var X96"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 113,"kind" : ["Info"],"goal_id" : 1265,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1264","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 114,"kind" : ["Info"],"goal_id" : 1266,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1268"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["evar X97 (sort (typ «interleave_context.403»)) X96"]} +{"step" : 115,"kind" : ["Info"],"goal_id" : 1267,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X92 = ok"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X92 := ok"]} +{"step" : 116,"kind" : ["Info"],"goal_id" : 1255,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1244","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 117,"kind" : ["Info"],"goal_id" : 1248,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ;\n ok = error X93 , std.fatal-error-w-data Definition type illtyped X93"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1249,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1269"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 118,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 119,"kind" : ["Info"],"goal_id" : 1269,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1249","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 120,"kind" : ["Info"],"goal_id" : 1250,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 121,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 121,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 121,"kind" : ["Info"],"goal_id" : 1245,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.arity->term (arity (X96)) X70, \n std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.arity->term (arity (X96)) X70"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1246,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1270"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.arity->term (arity (X96)) X70"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1271"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1272"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 122,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.arity->term","coq.arity->term (arity (X96)) X70"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 371, column 0, character 15907:"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 371, column 0, character 15907:","(coq.arity->term (arity A0) A0) :- ."]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X96"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X70 := X96"]} +{"step" : 123,"kind" : ["Info"],"goal_id" : 1270,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 124,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 124,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 124,"kind" : ["Info"],"goal_id" : 1271,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1272,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1273"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1274"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1275"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]"]} +{"step" : 125,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Definition illtyped"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1273,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1276"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1277"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1278"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X98 = ok ; X98 = error X99 , std.fatal-error-w-data Definition illtyped X99"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1279"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 126,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elaborate-skeleton","coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.elaborate-skeleton"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1280"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X96 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1281"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1276,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1282"]} +{"step" : 127,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X98 = ok"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X96 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign:HO","payload" : ["X96 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign:resume","payload" : ["1268"]} +{"step" : 128,"kind" : ["Info"],"goal_id" : 1280,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 129,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule","payload" : ["resume"]} +{"step" : 129,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule:resume:resumed","payload" : ["evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 129,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:resume","payload" : ["success"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["evar","evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","File \"coq-builtin.elpi\", line 197, column 0, character 7585:"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 193, column 0, character 7432:","(evar (as uvar A0) A1 A2) :- (!), \n (if (var A2) (declare_constraint (evar A0 A1 A2) [A0, A2]) true)."]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X97"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := sort (typ «interleave_context.403»)"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1268,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1283"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1284"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true"]} +{"step" : 130,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1268","File \"coq-builtin.elpi\", line 197, column 0, character 7585:","(evar _ _ _) :- ."]} +{"step" : 131,"kind" : ["Info"],"goal_id" : 1283,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1285"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1286"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1286,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1287"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1287,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]"]} +{"step" : 132,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 133,"kind" : ["Info"],"goal_id" : 1285,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1284,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1288"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 134,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 135,"kind" : ["Info"],"goal_id" : 1288,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X71 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 136,"kind" : ["Info"],"goal_id" : 1281,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X98 = ok"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X98 := ok"]} +{"step" : 137,"kind" : ["Info"],"goal_id" : 1282,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1273","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 138,"kind" : ["Info"],"goal_id" : 1277,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X99 , std.fatal-error-w-data Definition illtyped X99"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1278,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1289"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 139,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 140,"kind" : ["Info"],"goal_id" : 1289,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1278","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 141,"kind" : ["Info"],"goal_id" : 1279,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 142,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 142,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 142,"kind" : ["Info"],"goal_id" : 1274,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) 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 instance.private.hack-section-discharging X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (log.coq.env.begin-section X76) \n (instance.private.postulate-arity\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), \n global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]) X73 X72))"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (coq.safe-dest-app X72 (global X77) X78) \n 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1275,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1290"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1291"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1292"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 143,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n = arity X72"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1290,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1293"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1294"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1295"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 144,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X72 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 145,"kind" : ["Info"],"goal_id" : 1293,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1290","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 146,"kind" : ["Info"],"goal_id" : 1294,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1296"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if-verbose (coq.say HB: skipping section opening)"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1297"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 147,"kind" : ["Info"],"goal_id" : 1295,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if-verbose","if-verbose (coq.say HB: skipping section opening)"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 51, column 0, character 1529:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 52, column 0, character 1576:"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 51, column 0, character 1529:","(if-verbose A0) :- (get-option verbose tt), (!), A0."]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.say HB: skipping section opening"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1298"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option verbose tt"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1299"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1299,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1300"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1300,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say HB: skipping section opening"]} +{"step" : 148,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option verbose tt"]} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 149,"kind" : ["Info"],"goal_id" : 1298,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if-verbose","if-verbose (coq.say HB: skipping section opening)"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 52, column 0, character 1576:"]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 52, column 0, character 1576:","(if-verbose _) :- ."]} +{"step" : 150,"kind" : ["Info"],"goal_id" : 1296,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X73 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 151,"kind" : ["Info"],"goal_id" : 1297,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 152,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 152,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 152,"kind" : ["Info"],"goal_id" : 1291,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = 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\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1292,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1301"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1302"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1303"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 153,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := The type of the instance is not a factory"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1301,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1304"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1305"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 154,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1304,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1306"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 155,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3)."]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»)]"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global X77"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X78"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1306,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1307"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1308"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1309"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append X100 [global (indt «nat»)] X78"]} +{"step" : 156,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1306","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 157,"kind" : ["Info"],"goal_id" : 1307,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X77 := indt «IsSelfA'.axioms_»"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X100 := []"]} +{"step" : 158,"kind" : ["Info"],"goal_id" : 1308,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [] [global (indt «nat»)] X78"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:","(std.append [] A0 A0) :- ."]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (indt «nat»)]"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X78 := [global (indt «nat»)]"]} +{"step" : 159,"kind" : ["Info"],"goal_id" : 1309,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1304","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 160,"kind" : ["Info"],"goal_id" : 1305,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 161,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 161,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 161,"kind" : ["Info"],"goal_id" : 1302,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») 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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (factory-nparams X79 X80) Not a factory synthesized by HB, \n instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 X79, \n instance.private.declare-instance X79 X88 X87 X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1303,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1310"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1311"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1312"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 162,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X79"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1313"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X79 (indt «IsSelfA'.axioms_») _"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1314"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1314,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 163,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X79 (indt «IsSelfA'.axioms_») _"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «HasA.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «HasA.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «HasB.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «HasB.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «IsSelfA.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «IsSelfA.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «IsSelfA'.axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indc «IsSelfA'.Axioms_»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 164,"kind" : ["Info"],"goal_id" : 1313,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X79"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X79 := indt «IsSelfA'.axioms_»"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1310,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1315"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1316"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 165,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 166,"kind" : ["Info"],"goal_id" : 1315,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1310","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1310","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1310","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 167,"kind" : ["Info"],"goal_id" : 1316,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 168,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 168,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 168,"kind" : ["Info"],"goal_id" : 1311,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB, \n instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1312,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1317"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1318"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1319"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 169,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Not a factory synthesized by HB"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1317,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1320"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1321"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 170,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1320,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1322"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 171,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-nparams","factory-nparams (indt «IsSelfA'.axioms_») X80"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasA.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «A.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «A.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasB.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «B.axioms_») 1) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «B.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA.axioms_») 0) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «SelfA.axioms_») 0) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA'.axioms_») 0) :- ."]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X80 := 0"]} +{"step" : 172,"kind" : ["Info"],"goal_id" : 1322,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1320","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 173,"kind" : ["Info"],"goal_id" : 1321,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 174,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 174,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 174,"kind" : ["Info"],"goal_id" : 1318,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1319,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1323"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1324"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1325"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 175,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.hack-section-discharging","instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 300, column 0, character 12925:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 301, column 0, character 12985:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 300, column 0, character 12925:","(instance.private.hack-section-discharging A0 A0) :- (current-mode no-builder), \n (!)."]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X81 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1326"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["current-mode no-builder"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1327"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1327,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 176,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["current-mode","current-mode no-builder"]} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 177,"kind" : ["Info"],"goal_id" : 1326,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.hack-section-discharging","instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 301, column 0, character 12985:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 301, column 0, character 12985:","(instance.private.hack-section-discharging A0 A1) :- (current-mode\n (builder-from _ A2 _ _)), \n (!), (std.assert-ok! (coq.typecheck A2 A3) TheFactory is illtyped (BUG)), \n (A1 = let `_` A3 A2 (c0 \\ A0))."]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X81"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1328"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["current-mode (builder-from _ X101 _ _)"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1329"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1329,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1330"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1330,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok! (coq.typecheck X101 X102) TheFactory is illtyped (BUG)"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1331"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1331,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X81 =\n let `_` X102 X101 c0 \\\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c1 \\ c1]"]} +{"step" : 178,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["current-mode","current-mode (builder-from _ X101 _ _)"]} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 179,"kind" : ["Info"],"goal_id" : 1328,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.hack-section-discharging","instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 304, column 0, character 13219:","(instance.private.hack-section-discharging A0 A0) :- ."]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X81 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 180,"kind" : ["Info"],"goal_id" : 1323,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 181,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 181,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 181,"kind" : ["Info"],"goal_id" : 1324,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1325,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1332"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1333"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1334"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 182,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.optimize-body","instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 309, column 0, character 13433:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 314, column 0, character 13706:"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 309, column 0, character 13433:","(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)."]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := «IsSelfA'.phant_Build»"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X82"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1332,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1335"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1336"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1337"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.env.const «IsSelfA'.phant_Build» (some X104) _"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1338"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta X104 \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1339"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["unwind X105 X106 X82"]} +{"step" : 183,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := phant-abbrev _ (const «IsSelfA'.phant_Build») _"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1335,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1340"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev _ (const «IsSelfA'.phant_Build») _"]} +{"step" : 184,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev _ (const «IsSelfA'.phant_Build») _"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasA.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasA.phant_Build»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasB.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «HasB.phant_Build»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «IsSelfA.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «IsSelfA.phant_Build»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify const «IsSelfA'.phant_Build» with const «IsSelfA'.phant_axioms»"]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 185,"kind" : ["Info"],"goal_id" : 1340,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1335","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1332","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 314, column 0, character 13706:","(instance.private.optimize-body A0 A0) :- ."]} +{"step" : 186,"kind" : ["Info"],"goal_id" : 1336,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.env.const","coq.env.const «IsSelfA'.phant_Build» (some X104) _"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.env.const"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1337,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1341"]} +{"step" : 187,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["some X104 =\n some\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2])"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","some X104 =\n some\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2])"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X104 := fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]"]} +{"step" : 188,"kind" : ["Info"],"goal_id" : 1341,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (fun `TheType` (sort (typ «interleave_context.386»)) c0 \\\n fun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4)."]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0 \\\nfun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1338,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1342"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1343"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 189,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1338","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 190,"kind" : ["Info"],"goal_id" : 1342,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4)."]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0 \\\nfun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indc «O»)"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1343,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1344"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1345"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106"]} +{"step" : 191,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1343","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 192,"kind" : ["Info"],"goal_id" : 1344,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 93, column 0, character 3492:","(hd-beta (fun _ _ A0) [A1 | A2] A3 A4) :- (!), (hd-beta (A0 A1) A2 A3 A4)."]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0 \\\napp\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := fun `x` (global (indt «nat»)) c0 \\ c0"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1345,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1346"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1347"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106"]} +{"step" : 193,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1345","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 194,"kind" : ["Info"],"goal_id" : 1346,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 92, column 0, character 3424:","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 92, column 0, character 3424:","(hd-beta (app [A0 | A1]) A2 A3 A4) :- (!), (std.append A1 A2 A5), \n (hd-beta A0 A5 A3 A4)."]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X105"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X106"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1347,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1348"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1349"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1350"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["hd-beta (global (indc «IsSelfA'.Axioms_»)) X107 X105 X106"]} +{"step" : 195,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1347","File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 196,"kind" : ["Info"],"goal_id" : 1348,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:","(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3)."]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X107 := [global (indt «nat») | X108]"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1349,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1351"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] [] \n X108"]} +{"step" : 197,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] [] \n X108"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:","(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3)."]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «O»)"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X108 := [global (indc «O») | X109]"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1351,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1352"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append [fun `x` (global (indt «nat»)) c0 \\ c0] [] X109"]} +{"step" : 198,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [fun `x` (global (indt «nat»)) c0 \\ c0] [] X109"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 80, column 0, character 2711:","(std.append [A0 | A1] A2 [A0 | A3]) :- (std.append A1 A2 A3)."]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := fun `x` (global (indt «nat»)) c0 \\ c0"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X109 := [fun `x` (global (indt «nat»)) c0 \\ c0 | X110]"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1352,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1353"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append [] [] X110"]} +{"step" : 199,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [] [] X110"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:","(std.append [] A0 A0) :- ."]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X110 := []"]} +{"step" : 200,"kind" : ["Info"],"goal_id" : 1353,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["hd-beta","hd-beta (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 94, column 0, character 3551:","(hd-beta A0 A1 A0 A1) :- ."]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X105 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X106 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 201,"kind" : ["Info"],"goal_id" : 1350,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["unwind","unwind (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 22, column 0, character 758:"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/elpi-reduction.elpi\", line 22, column 0, character 758:","(unwind A0 A1 A2) :- (if (var A0) (coq.mk-app-uvar A0 A1 A2) \n (coq.mk-app A0 A1 A2))."]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X82"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1339,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1354"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)"]} +{"step" : 202,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var (global (indc «IsSelfA'.Axioms_»))"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1355"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var (global (indc «IsSelfA'.Axioms_»))"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1356"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1356,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1357"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1357,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 203,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var (global (indc «IsSelfA'.Axioms_»))"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 204,"kind" : ["Info"],"goal_id" : 1355,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (global (indc «IsSelfA'.Axioms_»))) \n (coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82) \n (coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82)"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1354,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1358"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 205,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.mk-app","coq.mk-app (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 77, column 0, character 2958:","File \"/build/source/./elpi/coq-lib.elpi\", line 81, column 0, character 3175:"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 77, column 0, character 2958:","(coq.mk-app A0 [] A0) :- (!)."]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["match\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] with []"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 81, column 0, character 3175:","(coq.mk-app A0 A1 (app [A0 | A1])) :- ."]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indc «IsSelfA'.Axioms_»)"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X82 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 206,"kind" : ["Info"],"goal_id" : 1358,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 207,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 207,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 207,"kind" : ["Info"],"goal_id" : 1333,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1334,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1359"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1360"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1361"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 208,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := _ = _"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := , (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1359,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1362"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["_ = _"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1363"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1364"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:newgoal","payload" : [", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)"]} +{"step" : 209,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","_ = _"]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 210,"kind" : ["Info"],"goal_id" : 1362,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1359","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 211,"kind" : ["Info"],"goal_id" : 1363,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",",", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1365"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["new_int X83"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1366"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.any->string X83 X84"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1367"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X85 is HB_unnamed_factory_ ^ X84"]} +{"step" : 212,"kind" : ["Info"],"goal_id" : 1364,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["new_int","new_int X83"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["new_int"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1365,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1368"]} +{"step" : 213,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X83 = 27"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X83 = 27"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X83 := 27"]} +{"step" : 214,"kind" : ["Info"],"goal_id" : 1368,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.any->string","std.any->string 27 X84"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 275, column 0, character 9167:"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 275, column 0, character 9167:","(std.any->string A0 A1) :- (term_to_string A0 A1)."]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 27"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X84"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1366,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1369"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["term_to_string 27 X84"]} +{"step" : 215,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["term_to_string","term_to_string 27 X84"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["term_to_string"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1369,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1370"]} +{"step" : 216,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X84 = 27"]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X84 = 27"]} +{"step" : 217,"kind" : ["Info"],"goal_id" : 1370,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} + +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["is","X85 is HB_unnamed_factory_ ^ 27"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 77, column 0, character 1165:"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 77, column 0, character 1165:","(A0 is A1) :- (calc A1 A0)."]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X85"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := HB_unnamed_factory_ ^ 27"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1367,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1371"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["calc (HB_unnamed_factory_ ^ 27) X85"]} +{"step" : 218,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["calc","calc (HB_unnamed_factory_ ^ 27) X85"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["calc"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1371,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1372"]} +{"step" : 219,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X85 = HB_unnamed_factory_27"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X85 = HB_unnamed_factory_27"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X85 := HB_unnamed_factory_27"]} +{"step" : 220,"kind" : ["Info"],"goal_id" : 1372,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 221,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 221,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 221,"kind" : ["Info"],"goal_id" : 1360,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [X87 = global (const X86), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1361,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1373"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1374"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1375"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 222,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.coq.env.add-const-noimplicits-failondup","log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 59, column 0, character 2355:"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 59, column 0, character 2355:","(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 := 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 = none) \n (\n A5 =\n some A2), \n log.private.log-vernac\n (\n log.private.coq.vernac.definition\n A0 A5 A1), \n get-option\n coq:locality \n local =>\n log.coq.arguments.set-implicit\n (const A4) \n [[]]])."]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := HB_unnamed_factory_27"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := ff"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X86"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1373,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1376"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 223,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true, \n coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n X112) \n (coq.error HB: cannot infer some information in \n HB_unnamed_factory_27 : X111 := X112)) true"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86, log.coq.env.add-location (const X86), \n if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1376,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1377"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1378"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1379"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 224,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := ,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 \n : X111 := X112)"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1380"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1381"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1381,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1382"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1382,"runtime_id" : 8,"name" : "user:newgoal","payload" : [",\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)"]} +{"step" : 225,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1380,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1383"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1384"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1385"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 226,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1383,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1386"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 227,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["ground_term","ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["ground_term"]} +{"step" : 228,"kind" : ["Info"],"goal_id" : 1386,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1383","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1380","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 229,"kind" : ["Info"],"goal_id" : 1384,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 230,"kind" : ["Info"],"goal_id" : 1385,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1377,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1387"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 231,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 232,"kind" : ["Info"],"goal_id" : 1387,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 233,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 233,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 233,"kind" : ["Info"],"goal_id" : 1378,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff \n X86"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [log.coq.env.add-location (const X86), \n if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1379,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1388"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1389"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1390"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]"]} +{"step" : 234,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.env.add-const","coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.env.add-const"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1388,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1391"]} +{"step" : 235,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X86 = «HB_unnamed_factory_27»"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X86 = «HB_unnamed_factory_27»"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X86 := «HB_unnamed_factory_27»"]} +{"step" : 236,"kind" : ["Info"],"goal_id" : 1391,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 237,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 237,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 237,"kind" : ["Info"],"goal_id" : 1389,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [log.coq.env.add-location (const «HB_unnamed_factory_27»), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.coq.env.add-location (const «HB_unnamed_factory_27»)"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if\n (var\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1390,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1392"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.coq.env.add-location (const «HB_unnamed_factory_27»)"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1393"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1394"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 238,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.coq.env.add-location","log.coq.env.add-location (const «HB_unnamed_factory_27»)"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 21, column 0, character 831:"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 21, column 0, character 831:","(log.coq.env.add-location A0) :- (if (get-option elpi.loc A1) \n (acc-clause library (decl-location A0 A1)) \n true)."]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «HB_unnamed_factory_27»"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1392,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1395"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true"]} +{"step" : 239,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option elpi.loc X114) \n (acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)) \n true"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option elpi.loc X114"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := acc-clause library \n (decl-location (const «HB_unnamed_factory_27») X114)"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1395,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1396"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option elpi.loc X114"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1397"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1398"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)"]} +{"step" : 240,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option elpi.loc X114"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:74)\", line 1, column 0, character 0:","(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- ."]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X114 := File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 241,"kind" : ["Info"],"goal_id" : 1396,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1395","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 242,"kind" : ["Info"],"goal_id" : 1397,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["acc-clause","acc-clause library \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:)"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 75, column 0, character 2237:"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 75, column 0, character 2237:","(acc-clause A0 A1) :- (coq.elpi.accumulate A0 hb.db (clause _ _ A1))."]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := library"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1398,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1399"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:))"]} +{"step" : 243,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.elpi.accumulate","coq.elpi.accumulate library hb.db \n (clause _ _ \n (decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:))"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.elpi.accumulate"]} +{"step" : 244,"kind" : ["Info"],"goal_id" : 1399,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 245,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 245,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 245,"kind" : ["Info"],"goal_id" : 1393,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1394,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1400"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1401"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1402"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 246,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X113 = none"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1403"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1404"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1404,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1405"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1405,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X113 = none"]} +{"step" : 247,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["var","var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["var"]} +{"step" : 248,"kind" : ["Info"],"goal_id" : 1403,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1400,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1406"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X113 = some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 249,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X113 = some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X113 := some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])"]} +{"step" : 250,"kind" : ["Info"],"goal_id" : 1406,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 251,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 251,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 251,"kind" : ["Info"],"goal_id" : 1401,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1402,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1407"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1408"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1409"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 252,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-extend A1 A4)."]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1410"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X115 X116"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1411"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1411,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1412"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1412,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (X116 = tt) (X117 = []) (X117 = [get-option coq:pp all])"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1413"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1413,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X117 =>\n log.private.coq.vernac->pp\n [log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])] X118"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1414"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1414,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-extend X115 X118"]} +{"step" : 253,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.logger","log.private.logger X115 X116"]} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 254,"kind" : ["Info"],"goal_id" : 1410,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:","(log.private.log-vernac _) :- ."]} +{"step" : 255,"kind" : ["Info"],"goal_id" : 1407,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 256,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 256,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 256,"kind" : ["Info"],"goal_id" : 1408,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1409,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1415"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1416"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1417"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 257,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1415,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1418"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 258,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.coq.arguments.set-implicit","log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 14, column 0, character 592:"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 14, column 0, character 592:","(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 = tt) (A2 = ff), \n (coq.gref->id A0 A3 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit\n A2 A3 A1))])."]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «HB_unnamed_factory_27»"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [[]]"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1418,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1419"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]], \n if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 259,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]], \n if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1419,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1420"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1421"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1422"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 260,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.arguments.set-implicit","coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.arguments.set-implicit"]} +{"step" : 261,"kind" : ["Info"],"goal_id" : 1420,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 262,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 262,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 262,"kind" : ["Info"],"goal_id" : 1421,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if (get-option coq:locality local) (X119 = tt) (X119 = ff)"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac\n (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1422,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1423"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option coq:locality local) (X119 = tt) (X119 = ff)"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1424"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1425"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]"]} +{"step" : 263,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (get-option coq:locality local) (X119 = tt) (X119 = ff)"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := get-option coq:locality local"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X119 = tt"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1423,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1426"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option coq:locality local"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1427"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1428"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X119 = tt"]} +{"step" : 264,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option coq:locality local"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:258)\", line 1, column 0, character 0:"]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:258)\", line 1, column 0, character 0:","(get-option coq:locality local) :- ."]} +{"step" : 265,"kind" : ["Info"],"goal_id" : 1426,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1423","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 266,"kind" : ["Info"],"goal_id" : 1427,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X119 = tt"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X119 := tt"]} +{"step" : 267,"kind" : ["Info"],"goal_id" : 1428,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 268,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 268,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 268,"kind" : ["Info"],"goal_id" : 1424,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]]))]"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1425,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1429"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1430"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1431"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 269,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1432"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.gref->id (const «HB_unnamed_factory_27») X120"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1433"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])"]} +{"step" : 270,"kind" : ["Info"],"goal_id" : 1429,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.gref->id","coq.gref->id (const «HB_unnamed_factory_27») X120"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.gref->id"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1432,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1434"]} +{"step" : 271,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X120 = HB_unnamed_factory_27"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X120 = HB_unnamed_factory_27"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X120 := HB_unnamed_factory_27"]} +{"step" : 272,"kind" : ["Info"],"goal_id" : 1434,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]])"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 291, column 0, character 11441:","(log.private.log-vernac A0) :- (log.private.logger A1 A2), (!), \n (if (A2 = tt) (A3 = []) (A3 = [get-option coq:pp all])), \n (A3 => log.private.coq.vernac->pp [A0] A4), \n (log.private.logger-extend A1 A4)."]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1435"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger X121 X122"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1436"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1436,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1437"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1437,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (X122 = tt) (X123 = []) (X123 = [get-option coq:pp all])"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1438"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1438,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X123 =>\n log.private.coq.vernac->pp\n [log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]]] X124"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1439"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1439,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["log.private.logger-extend X121 X124"]} +{"step" : 273,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.logger","log.private.logger X121 X122"]} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 274,"kind" : ["Info"],"goal_id" : 1435,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["log.private.log-vernac","log.private.log-vernac\n (log.private.coq.vernac.implicit tt HB_unnamed_factory_27 [[]])"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:"]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/log.elpi\", line 294, column 0, character 11623:","(log.private.log-vernac _) :- ."]} +{"step" : 275,"kind" : ["Info"],"goal_id" : 1433,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 276,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 276,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 276,"kind" : ["Info"],"goal_id" : 1430,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 277,"kind" : ["Info"],"goal_id" : 1431,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 278,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 278,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 278,"kind" : ["Info"],"goal_id" : 1416,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 279,"kind" : ["Info"],"goal_id" : 1417,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 280,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 280,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 280,"kind" : ["Info"],"goal_id" : 1374,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [X87 = global (const «HB_unnamed_factory_27»), \n std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X87 = global (const «HB_unnamed_factory_27»)"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1375,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1440"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X87 = global (const «HB_unnamed_factory_27»)"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1441"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1442"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 281,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X87 = global (const «HB_unnamed_factory_27»)"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X87 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 282,"kind" : ["Info"],"goal_id" : 1440,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 283,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 283,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 283,"kind" : ["Info"],"goal_id" : 1441,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.drop 0 [global (indt «nat»)] [X88 | _]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1442,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1443"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.drop 0 [global (indt «nat»)] [X88 | _]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1444"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1445"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 284,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.drop","std.drop 0 [global (indt «nat»)] [X88 | _]"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 99, column 0, character 3183:","File \"builtin_stdlib.elpi\", line 100, column 0, character 3200:","File \"builtin_stdlib.elpi\", line 101, column 0, character 3249:"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 99, column 0, character 3183:","(std.drop 0 A0 A0) :- (!)."]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (indt «nat»)]"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X88 := global (indt «nat»)"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1443,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1446"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 285,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1443","File \"builtin_stdlib.elpi\", line 100, column 0, character 3200:","(std.drop A0 [_ | A1] A2) :- (!), (A3 is A0 - 1), (std.drop A3 A1 A2)."]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1443","File \"builtin_stdlib.elpi\", line 101, column 0, character 3249:","(std.drop _ _ _) :- (std.fatal-error drop run out of list items)."]} +{"step" : 286,"kind" : ["Info"],"goal_id" : 1446,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 287,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 287,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 287,"kind" : ["Info"],"goal_id" : 1444,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.check-non-forgetful-inheritance\n (global (indt «nat»)) (indt «IsSelfA'.axioms_»)"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) \n X89 X90, \n if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1445,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1447"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1448"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1449"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 288,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.check-non-forgetful-inheritance","instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 341, column 0, character 14872:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 343, column 0, character 14959:"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 341, column 0, character 14872:","(instance.private.check-non-forgetful-inheritance _ _) :- (get-option\n non_forgetful_inheritance \n tt), (!)."]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1450"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option non_forgetful_inheritance tt"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1451"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1451,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 289,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option non_forgetful_inheritance tt"]} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 290,"kind" : ["Info"],"goal_id" : 1450,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.check-non-forgetful-inheritance","instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 343, column 0, character 14959:"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 343, column 0, character 14959:","(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 inheritance detected.\n \n You have two solutions: \n 1. (Best practice) Reorganize 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 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 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-inheritance.v \n to witness devastating effects.)) \n true])."]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := indt «IsSelfA'.axioms_»"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1447,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1452"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true]"]} +{"step" : 291,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true]"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 \n depend on 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1452,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1453"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1454"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1455"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 292,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := , (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1456"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1457"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1457,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1458"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1458,"runtime_id" : 8,"name" : "user:newgoal","payload" : [", (nice-gref->string (indt «IsSelfA'.axioms_») 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 X129 \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 #[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 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-inheritance.v \n to witness devastating effects.)"]} +{"step" : 293,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1459"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1460"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1460,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["structure-key X125 _ X126"]} +{"step" : 294,"kind" : ["Info"],"goal_id" : 1456,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify global (const X125) with global (indt «nat»)"]} +{"step" : 295,"kind" : ["Info"],"goal_id" : 1459,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1453,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1461"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 296,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 297,"kind" : ["Info"],"goal_id" : 1461,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 298,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 298,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 298,"kind" : ["Info"],"goal_id" : 1454,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 299,"kind" : ["Info"],"goal_id" : 1455,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 300,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 300,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 300,"kind" : ["Info"],"goal_id" : 1448,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) \n X89 X90"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if\n (arity\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1449,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1462"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1463"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1463,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1464"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1464,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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]"]} +{"step" : 301,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.declare-instance","instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 188, column 0, character 8025:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 196, column 0, character 8410:"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 188, column 0, character 8025:","(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 temporary instances, make an alias, e.g. with let T' := T) \n true), (!), \n (instance.private.declare-canonical-instances-from-factory-and-local-builders\n A0 A1 A2 A5 A6 A3 A4)."]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X89"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X90"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1465"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["current-mode (builder-from (global (indt «nat»)) X130 X131 _)"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1466"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1466,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1467"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1467,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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' := T) \n true"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1468"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1468,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1469"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1469,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.declare-canonical-instances-from-factory-and-local-builders\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X130 X131 X89 X90"]} +{"step" : 302,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["current-mode","current-mode (builder-from (global (indt «nat»)) X130 X131 _)"]} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 303,"kind" : ["Info"],"goal_id" : 1465,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.declare-instance","instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 196, column 0, character 8410:"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 196, column 0, character 8410:","(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 = pr c2 c3 , c1 = instance-to-export A5 c2 c3))))))) \n A3) (A3 = []))."]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X89"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X90"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1462,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1470"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["instance.private.declare-canonical-instances-from-factory\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X90"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1471"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1471,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (get-option export tt) \n (coq.env.current-library X132 ,\n std.map X90 (c0 \\ c1 \\\n sigma c2 \\ sigma c3 \\ c0 = pr c2 c3 , c1 = instance-to-export X132 c2 c3) \n X89) (X89 = [])"]} +{"step" : 304,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["instance.private.declare-canonical-instances-from-factory","instance.private.declare-canonical-instances-from-factory\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X90"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 282, column 0, character 12180:"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/instance.elpi\", line 282, column 0, character 12180:","(instance.private.declare-canonical-instances-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])."]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (indt «nat»)"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X90"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1470,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1472"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]], \n std.append X135 X137 X90]"]} +{"step" : 305,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]], \n std.append X135 X137 X90]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.append X135 X137 X90]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1472,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1473"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1474"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1474,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1475"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1475,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! [std.append X135 X137 X90]"]} +{"step" : 306,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["synthesis.under-mixin-src-from-factory.do!","synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 100, column 0, character 4390:"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 100, column 0, character 4390:","(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 =\n mixin-src A0 \n c0 A1))) A4, \n A4 => std.do! A2])."]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «nat»)"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1473,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1476"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138, \n std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 307,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138, \n std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1476,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1477"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1478"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1478,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1479"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1479,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]"]} +{"step" : 308,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["synthesis.private.factory-instance->new-mixins","synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 289, column 0, character 12694:"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/synthesis.elpi\", line 289, column 0, character 12694:","(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 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])."]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := global (const «HB_unnamed_factory_27»)"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X138"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1477,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1480"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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]"]} +{"step" : 309,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped, \n if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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]"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [if (not (coq.safe-dest-app X140 (global _) _)) \n (,\n (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string X140 X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) \n true, 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]"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1480,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1481"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1482"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1483"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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]"]} +{"step" : 310,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.typecheck (global (const «HB_unnamed_factory_27»)) X140"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := mixin-src: X illtyped"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1481,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1484"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1485"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1486"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X146 = ok ;\n X146 = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1487"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 311,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.typecheck","coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.typecheck"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1488"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1484,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1489"]} +{"step" : 312,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X146 = ok"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X140 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]"]} +{"step" : 313,"kind" : ["Info"],"goal_id" : 1488,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X146 = ok"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X146 := ok"]} +{"step" : 314,"kind" : ["Info"],"goal_id" : 1489,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1481","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 315,"kind" : ["Info"],"goal_id" : 1485,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1486,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1490"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 316,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 317,"kind" : ["Info"],"goal_id" : 1490,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1486","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 318,"kind" : ["Info"],"goal_id" : 1487,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 319,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 319,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 319,"kind" : ["Info"],"goal_id" : 1482,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true, \n coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143, \n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) \n true"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X143, factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1483,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1491"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1492"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1493"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143, \n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 320,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := , (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1494"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1495"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1495,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1496"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1496,"runtime_id" : 8,"name" : "user:newgoal","payload" : [", (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)"]} +{"step" : 321,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1494,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1497"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1498"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1499"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 322,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 72, column 0, character 2783:","(coq.safe-dest-app (app [A0 | A1]) A2 A3) :- (!), \n (coq.safe-dest-app A0 A2 A4), (std.append A4 A1 A3)."]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (indt «nat»)]"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global _"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1497,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1500"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1501"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1502"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.append X148 [global (indt «nat»)] X149"]} +{"step" : 323,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1497","File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 324,"kind" : ["Info"],"goal_id" : 1500,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.safe-dest-app","coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 74, column 0, character 2886:","(coq.safe-dest-app A0 A0 []) :- ."]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X148 := []"]} +{"step" : 325,"kind" : ["Info"],"goal_id" : 1501,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.append","std.append [] [global (indt «nat»)] X149"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 81, column 0, character 2754:","(std.append [] A0 A0) :- ."]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (indt «nat»)]"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X149 := [global (indt «nat»)]"]} +{"step" : 326,"kind" : ["Info"],"goal_id" : 1502,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1494","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 327,"kind" : ["Info"],"goal_id" : 1498,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 328,"kind" : ["Info"],"goal_id" : 1499,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)) true"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1491,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1503"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 329,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 330,"kind" : ["Info"],"goal_id" : 1503,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 331,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 331,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 331,"kind" : ["Info"],"goal_id" : 1492,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143, \n factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1493,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1504"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1505"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1506"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 332,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.term->gref","coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 431, column 0, character 18295:","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 431, column 0, character 18295:","(coq.term->gref (app [A0 | _]) A1) :- (!), (coq.term->gref A0 A1)."]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (indt «IsSelfA'.axioms_»)"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X143"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1504,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1507"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1508"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143"]} +{"step" : 333,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1504","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:","(coq.term->gref A0 _) :- (std.fatal-error-w-data\n term->gref: input has no global reference A0)."]} +{"step" : 334,"kind" : ["Info"],"goal_id" : 1507,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.term->gref","coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 430, column 0, character 18259:","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 430, column 0, character 18259:","(coq.term->gref (global A0) A0) :- (!)."]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X143 := indt «IsSelfA'.axioms_»"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1508,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1509"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 335,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1508","File \"/build/source/./elpi/coq-lib.elpi\", line 433, column 0, character 18415:","(coq.term->gref A0 _) :- (std.fatal-error-w-data\n term->gref: input has no global reference A0)."]} +{"step" : 336,"kind" : ["Info"],"goal_id" : 1509,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 337,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 337,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 337,"kind" : ["Info"],"goal_id" : 1505,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [factory-provides (indt «IsSelfA'.axioms_») X144, \n list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-provides (indt «IsSelfA'.axioms_») X144"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1506,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1510"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides (indt «IsSelfA'.axioms_») X144"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1511"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1511,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1512"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1512,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]"]} +{"step" : 338,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides","factory-provides (indt «IsSelfA'.axioms_») X144"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 86, column 0, character 2829:"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 86, column 0, character 2829:","(factory-provides A0 A1) :- (std.do!\n [factory-alias->gref A0 A2, gref-deps A2 A3, \n w-params.map A3 (factory-provides.base A2) A1])."]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X144"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1510,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1513"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 339,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [factory-alias->gref (indt «IsSelfA'.axioms_») X150, gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [gref-deps X150 X151, \n w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1513,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1514"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1515"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1516"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [gref-deps X150 X151, w-params.map X151 (factory-provides.base X150) X144]"]} +{"step" : 340,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X150"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1517"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X150 (indt «IsSelfA'.axioms_») _"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1518"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1518,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 341,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X150 (indt «IsSelfA'.axioms_») _"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «HasA.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «HasA.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «HasB.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «HasB.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «IsSelfA.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «IsSelfA.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «IsSelfA'.axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indc «IsSelfA'.Axioms_»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 342,"kind" : ["Info"],"goal_id" : 1517,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA'.axioms_») X150"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X150 := indt «IsSelfA'.axioms_»"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1514,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1519"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1520"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 343,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «IsSelfA'.axioms_») _ _"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 344,"kind" : ["Info"],"goal_id" : 1519,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1514","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1514","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1514","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 345,"kind" : ["Info"],"goal_id" : 1520,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 346,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 346,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 346,"kind" : ["Info"],"goal_id" : 1515,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [gref-deps (indt «IsSelfA'.axioms_») X151, \n w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := gref-deps (indt «IsSelfA'.axioms_») X151"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) \n X144]"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1516,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1521"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["gref-deps (indt «IsSelfA'.axioms_») X151"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1522"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1523"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]"]} +{"step" : 347,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["gref-deps","gref-deps (indt «IsSelfA'.axioms_») X151"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(gref-deps (indt «IsSelfA'.axioms_») \n (w-params.nil TheType (sort (typ «interleave_context.382»)) (c0 \\ []))) :- ."]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X151 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 348,"kind" : ["Info"],"goal_id" : 1521,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 349,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 349,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 349,"kind" : ["Info"],"goal_id" : 1522,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1523,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1524"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1525"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1525,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1526"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1526,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 350,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.map","w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 245, column 0, character 9440:"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 245, column 0, character 9440:","(w-params.map A0 A1 A2) :- (w-params.then A0 mk-w-params.cons-name \n mk-w-params.nil-name A1 A2)."]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := factory-provides.base (indt «IsSelfA'.axioms_»)"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X144"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1524,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1527"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.then\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-name \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 351,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.then","w-params.then\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name mk-w-params.nil-name \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 239, column 0, character 9183:"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 239, column 0, character 9183:","(w-params.then A0 A1 A2 A3 A4) :- (w-params.fold A0 A1 (c0 \\ (c1 \\ (c2 \\\n (c3 \\ (c4 \\\n (sigma (c5 \\\n (pi (c6 \\\n (decl c6 c1 c2 =>\n A3 c0 c6 (c3 c6) (c5 c6))) ,\n A2 c1 c2 c5 c4)))))))) A4)."]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := mk-w-params.cons-name"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := mk-w-params.nil-name"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := factory-provides.base (indt «IsSelfA'.axioms_»)"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := X144"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1527,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1528"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.fold\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144"]} +{"step" : 352,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.fold","w-params.fold\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) X144"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 213, column 0, character 8143:"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 213, column 0, character 8143:","(w-params.fold A0 A1 A2 A3) :- (w-params.fold.params A0 A1 A2 [] A3)."]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := mk-w-params.cons-name"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X144"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1528,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1529"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["w-params.fold.params\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144"]} +{"step" : 353,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["w-params.fold.params","w-params.fold.params\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n mk-w-params.cons-name (c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\n sigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4) [] X144"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 224, column 0, character 8609:"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 224, column 0, character 8609:","(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])."]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := TheType"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := sort (typ «interleave_context.382»)"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0 \\\n[]"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := []"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := X144"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1529,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1530"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1531"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [coq.id->name TheType X152, std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 354,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 355,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 355,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 355,"kind" : ["Info"],"goal_id" : 1530,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [coq.id->name TheType X152, std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.id->name TheType X152"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1531,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1532"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.id->name TheType X152"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1533"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1534"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 356,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.id->name","coq.id->name TheType X152"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"coq-builtin.elpi\", line 1296, column 0, character 51690:"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"coq-builtin.elpi\", line 1296, column 0, character 51690:","(coq.id->name A0 A1) :- (coq.string->name A0 A1)."]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := TheType"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X152"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1532,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1535"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.string->name TheType X152"]} +{"step" : 357,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.string->name","coq.string->name TheType X152"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.string->name"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1535,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1536"]} +{"step" : 358,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X152 = `TheType`"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X152 = `TheType`"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X152 := `TheType`"]} +{"step" : 359,"kind" : ["Info"],"goal_id" : 1536,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 360,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 360,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 360,"kind" : ["Info"],"goal_id" : 1533,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.rev [] X153"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144]"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1534,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1537"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [] X153"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1538"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1539"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 361,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.rev","std.rev [] X153"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 70, column 0, character 2457:"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 70, column 0, character 2457:","(std.rev A0 A1) :- (std.rev.aux A0 [] A1)."]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X153"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1537,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1540"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev.aux [] [] X153"]} +{"step" : 362,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.rev.aux","std.rev.aux [] [] X153"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 72, column 0, character 2534:"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 72, column 0, character 2534:","(std.rev.aux [] A0 A0) :- ."]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X153 := []"]} +{"step" : 363,"kind" : ["Info"],"goal_id" : 1540,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 364,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 364,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 364,"kind" : ["Info"],"goal_id" : 1538,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1539,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1541"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1542"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1542,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1543"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1543,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 365,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["sigma","sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:rule","payload" : ["sigma"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1541,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1544"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144"]} +{"step" : 366,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:rule:sigma","payload" : ["success"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1545"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1546"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1546,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) X154 \n X144"]} +{"step" : 367,"kind" : ["Info"],"goal_id" : 1544,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pi","pi c0 \\\n decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:rule","payload" : ["pi"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1545,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1547"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 368,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","decl c0 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1547,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1548"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 369,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides.base","factory-provides.base (indt «IsSelfA'.axioms_») [] c0 [] (X154 c0)"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 100, column 0, character 3290:"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 100, column 0, character 3290:","(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])."]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA'.axioms_»"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c0"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X154 c0"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1548,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1549"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.findall (from (indt «IsSelfA'.axioms_») 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)]"]} +{"step" : 370,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.findall (from (indt «IsSelfA'.axioms_») 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)]"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [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)]"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1549,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1550"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1551"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1552"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["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-provides.one [] c0) (X154 c0)]"]} +{"step" : 371,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») X155^1 X156^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X157^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1550,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1553"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 372,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:newgoal","payload" : ["from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:curgoal","payload" : ["from","from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «HasA.axioms_») (indt «HasA.axioms_») \n (const «HasA.identity_builder»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «A.axioms_») (indt «HasA.axioms_») \n (const «A.interleave_context_HasA_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «A.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «HasB.axioms_») (indt «HasB.axioms_») \n (const «HasB.identity_builder»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «HasB.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «B.axioms_») (indt «HasB.axioms_») \n (const «B.interleave_context_HasB_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «B.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA.axioms_») (indt «IsSelfA.axioms_») \n (const «IsSelfA.identity_builder»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «IsSelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «SelfA.axioms_») (indt «HasA.axioms_») \n (const «SelfA.interleave_context_HasA_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «SelfA.axioms_») (indt «HasB.axioms_») \n (const «SelfA.interleave_context_HasB_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «SelfA.axioms_») (indt «IsSelfA.axioms_») \n (const «SelfA.interleave_context_IsSelfA_mixin»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA'.axioms_» with indt «SelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X0^1 := indt «IsSelfA.axioms_»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X1^1 := const «Builders_18.HB_unnamed_factory_24»"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:curgoal","payload" : ["from","from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) :- ."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X0^1 := indt «HasB.axioms_»"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X1^1 := const «Builders_18.HB_unnamed_factory_22»"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:curgoal","payload" : ["from","from (indt «IsSelfA'.axioms_») X0^1 X1^1"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) :- ."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X0^1 := indt «HasA.axioms_»"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 10,"name" : "user:assign","payload" : ["X1^1 := const «Builders_18.HB_unnamed_factory_20»"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 1555,"runtime_id" : 10,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X157^1 := [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 373,"kind" : ["Info"],"goal_id" : 1553,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 374,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 374,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 374,"kind" : ["Info"],"goal_id" : 1551,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1, \n std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1552,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1556"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1557"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1558"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 375,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_mixin"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X158^1 := [X160^1 | X161^1]"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1556,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1559"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X160^1"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1560"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X161^1"]} +{"step" : 376,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_mixin","from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X160^1"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:","(from_mixin (from _ A0 _) A0) :- ."]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA.axioms_»"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X160^1 := indt «IsSelfA.axioms_»"]} +{"step" : 377,"kind" : ["Info"],"goal_id" : 1559,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X161^1"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_mixin"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X161^1 := [X162^1 | X163^1]"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1560,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1561"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X162^1"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1562"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X163^1"]} +{"step" : 378,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_mixin","from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X162^1"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:","(from_mixin (from _ A0 _) A0) :- ."]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasB.axioms_»"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X162^1 := indt «HasB.axioms_»"]} +{"step" : 379,"kind" : ["Info"],"goal_id" : 1561,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X163^1"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_mixin"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X163^1 := [X164^1 | X165^1]"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1562,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1563"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X164^1"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1564"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] from_mixin X165^1"]} +{"step" : 380,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_mixin","from_mixin\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X164^1"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 12, column 0, character 414:","(from_mixin (from _ A0 _) A0) :- ."]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasA.axioms_»"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X164^1 := indt «HasA.axioms_»"]} +{"step" : 381,"kind" : ["Info"],"goal_id" : 1563,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] from_mixin X165^1"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X165^1 := []"]} +{"step" : 382,"kind" : ["Info"],"goal_id" : 1564,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 383,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 383,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 383,"kind" : ["Info"],"goal_id" : 1557,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1558,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1565"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1566"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1567"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 384,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_builder"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X159^1 := [X166^1 | X167^1]"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1565,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1568"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_builder\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X166^1"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1569"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X167^1"]} +{"step" : 385,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_builder","from_builder\n (from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»)) X166^1"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:","(from_builder (from _ _ A0) (global A0)) :- ."]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «Builders_18.HB_unnamed_factory_24»"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X166^1 := global (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 386,"kind" : ["Info"],"goal_id" : 1568,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X167^1"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_builder"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X167^1 := [X168^1 | X169^1]"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1569,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1570"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X168^1"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1571"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X169^1"]} +{"step" : 387,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_builder","from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»)) X168^1"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:","(from_builder (from _ _ A0) (global A0)) :- ."]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «Builders_18.HB_unnamed_factory_22»"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X168^1 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 388,"kind" : ["Info"],"goal_id" : 1570,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X169^1"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := from_builder"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X169^1 := [X170^1 | X171^1]"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1571,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1572"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X170^1"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1573"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] from_builder X171^1"]} +{"step" : 389,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["from_builder","from_builder\n (from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)) X170^1"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 15, column 0, character 476:","(from_builder (from _ _ A0) (global A0)) :- ."]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := const «Builders_18.HB_unnamed_factory_20»"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X170^1 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 390,"kind" : ["Info"],"goal_id" : 1572,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] from_builder X171^1"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X171^1 := []"]} +{"step" : 391,"kind" : ["Info"],"goal_id" : 1573,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 392,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 392,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 392,"kind" : ["Info"],"goal_id" : 1566,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1567,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1574"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1575"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1575,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1576"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1576,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 393,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map2","std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:","(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6)."]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := indt «IsSelfA.axioms_»"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := [indt «HasB.axioms_», indt «HasA.axioms_»]"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := factory-provides.one [] c0"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign:simplify","payload" : ["X154 := c0 \\\nX172 c0"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X172^1 := [X173^1 | X174^1]"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1574,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1577"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_24»)) \n (indt «IsSelfA.axioms_») X173^1"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1578"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map2\n [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasB.axioms_», indt «HasA.axioms_»] (factory-provides.one [] c0) \n X174^1"]} +{"step" : 394,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides.one","factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_24»)) \n (indt «IsSelfA.axioms_») X173^1"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:","(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins])."]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «Builders_18.HB_unnamed_factory_24»)"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := indt «IsSelfA.axioms_»"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X173^1 := triple (indt «IsSelfA.axioms_») X175^1 c0"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1577,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1579"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 395,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped, \n (coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1) Builder illtyped"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1579,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1580"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1581"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1582"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 396,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Builder illtyped"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1580,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1583"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1584"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1585"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X179^1 = ok ;\n X179^1 = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1586"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 397,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.typecheck","coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.typecheck"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1587"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1583,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1588"]} +{"step" : 398,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X179^1 = ok"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X176^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 399,"kind" : ["Info"],"goal_id" : 1587,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X179^1 = ok"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X179^1 := ok"]} +{"step" : 400,"kind" : ["Info"],"goal_id" : 1588,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1580","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 401,"kind" : ["Info"],"goal_id" : 1584,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1585,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1589"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 402,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 403,"kind" : ["Info"],"goal_id" : 1589,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1585","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 404,"kind" : ["Info"],"goal_id" : 1586,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 405,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 405,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 405,"kind" : ["Info"],"goal_id" : 1581,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1582,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1590"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1591"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1592"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 406,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1593"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1594"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [c0] X177^1 X178^1"]} +{"step" : 407,"kind" : ["Info"],"goal_id" : 1590,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X177^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1593,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1595"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 408,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1593","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 409,"kind" : ["Info"],"goal_id" : 1595,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [c0] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X178^1"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3)."]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X178^1"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1594,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1596"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1597"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1"]} +{"step" : 410,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1594","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1594","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:","(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error-w-data subst-prod: not a product A0)."]} +{"step" : 411,"kind" : ["Info"],"goal_id" : 1596,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X178^1 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1597,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1598"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 412,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1597","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 413,"kind" : ["Info"],"goal_id" : 1598,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 414,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 414,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 414,"kind" : ["Info"],"goal_id" : 1591,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1592,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1599"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1600"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1601"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 415,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1599,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1602"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1603"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 416,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1602,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1604"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 417,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «IsSelfA'.phant_axioms»), c0]"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\napp\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X175^1"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1604,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1605"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1606"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 418,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1604","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1604","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 419,"kind" : ["Info"],"goal_id" : 1605,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pi","pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:rule","payload" : ["pi"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1606,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1607"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 420,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1607,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1608"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 421,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["match\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] with\n prod _ A1 A2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := indt «IsSelfA.axioms_»"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X175^1"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1608,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1609"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1610"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «IsSelfA.axioms_») X181^2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1611"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams X181^2 X182^2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1612"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X183^2"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1613"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.spy (std.take X182^2 X183^2 X175^1)"]} +{"step" : 422,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1608","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 423,"kind" : ["Info"],"goal_id" : 1609,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA.axioms_») X181^2"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA.axioms_»"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X181^2"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1614"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X181^2 (indt «IsSelfA.axioms_») _"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1615"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1615,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 424,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X181^2 (indt «IsSelfA.axioms_») _"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «HasA.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «HasA.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasA.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «HasB.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «HasB.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «HasB.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «IsSelfA.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «IsSelfA.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «IsSelfA'.axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indc «IsSelfA'.Axioms_»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 425,"kind" : ["Info"],"goal_id" : 1614,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «IsSelfA.axioms_») X181^2"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «IsSelfA.axioms_»"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X181^2 := indt «IsSelfA.axioms_»"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1610,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1616"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «IsSelfA.axioms_») _ _"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1617"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 426,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «IsSelfA.axioms_») _ _"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasA.axioms_»"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasB.axioms_»"]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 427,"kind" : ["Info"],"goal_id" : 1616,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1616","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1610","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1610","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1610","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 428,"kind" : ["Info"],"goal_id" : 1617,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-nparams","factory-nparams (indt «IsSelfA.axioms_») X182^2"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasA.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasA.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «A.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «A.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasB.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «HasB.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «B.axioms_») 1) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «IsSelfA.axioms_» with indt «B.axioms_»"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA.axioms_») 0) :- ."]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X182^2 := 0"]} +{"step" : 429,"kind" : ["Info"],"goal_id" : 1611,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X183^2"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X183^2 := [X184^2 | X185^2]"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1612,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1618"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 c0 X184^2"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1619"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X185^2"]} +{"step" : 430,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 c0 X184^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X184^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1618,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1620"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X186^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1621"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X186^2 X187^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1622"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X188^2 | c6] c3) | X187^2]\n => copy c0 X184^2"]} +{"step" : 431,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X186^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X186^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1620,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1623"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X189^2) X190^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1624"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X190^2 local-canonical-gref X186^2"]} +{"step" : 432,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X189^2) X190^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X189^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X190^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1623,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1625"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X189^2) X190^2"]} +{"step" : 433,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X189^2) X190^2"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1627,"runtime_id" : 11,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X190^2 := []"]} +{"step" : 434,"kind" : ["Info"],"goal_id" : 1625,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X186^2"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X186^2 := []"]} +{"step" : 435,"kind" : ["Info"],"goal_id" : 1624,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X187^2"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X187^2 := []"]} +{"step" : 436,"kind" : ["Info"],"goal_id" : 1621,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X188^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X188^2 | c6] c3)] =>\n copy c0 X184^2"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1622,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1628"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X184^2"]} +{"step" : 437,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X184^2"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X184^2"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1628,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1629"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1630"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1631"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X184^2"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1632"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 438,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1629,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1633"]} +{"step" : 439,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 440,"kind" : ["Info"],"goal_id" : 1633,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 441,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 441,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 441,"kind" : ["Info"],"goal_id" : 1630,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X184^2"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X184 c0 c1 := c0"]} +{"step" : 442,"kind" : ["Info"],"goal_id" : 1631,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 443,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 443,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 443,"kind" : ["Info"],"goal_id" : 1632,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X185^2"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X185^2 := [X191^2 | X192^2]"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1619,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1634"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) X191^2"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1635"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X192^2"]} +{"step" : 444,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) X191^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X191^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1634,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1636"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X193^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1637"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X193^2 X194^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1638"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X195^2 | c6] c3) | X194^2]\n =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 445,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X193^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X193^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1636,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1639"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X196^2) X197^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1640"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X197^2 local-canonical-gref X193^2"]} +{"step" : 446,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X196^2) X197^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X196^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X197^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1639,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1641"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X196^2) X197^2"]} +{"step" : 447,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X196^2) X197^2"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1643,"runtime_id" : 12,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X197^2 := []"]} +{"step" : 448,"kind" : ["Info"],"goal_id" : 1641,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X193^2"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X193^2 := []"]} +{"step" : 449,"kind" : ["Info"],"goal_id" : 1640,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X194^2"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X194^2 := []"]} +{"step" : 450,"kind" : ["Info"],"goal_id" : 1637,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X195^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X195^2 | c6] c3)] =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1638,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1644"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 451,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:451)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:451)\", line 1, column 0, character 0:","(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1)."]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := const «Builders_18.HB_unnamed_factory_20»"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [c0, c1]"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X191^2 := app [global (const «Builders_18.HB_unnamed_factory_20») | X198^2]"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1645"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pack? (const «Builders_18.HB_unnamed_factory_20») _"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1646"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1646,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1647"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1647,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [c0, c1] [X199^2, c0 | X200^2]"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1648"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1648,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X195^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1649"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1649,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X200^2 copy X201^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1650"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1650,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [global (const «elpi.hole»), X195^2 | X201^2] X198^2"]} +{"step" : 452,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pack?","pack? (const «Builders_18.HB_unnamed_factory_20») _"]} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 453,"kind" : ["Info"],"goal_id" : 1645,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X191^2"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1651"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1652"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1652,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1653"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1653,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] = X191^2"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1654"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1654,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 454,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 455,"kind" : ["Info"],"goal_id" : 1651,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]) \n X191^2"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:","(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)."]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X191^2 := app X202^2"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1644,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1655"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1656"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2"]} +{"step" : 456,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 457,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 457,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 457,"kind" : ["Info"],"goal_id" : 1655,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0, c1]"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X202^2 := [X203^2 | X204^2]"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1656,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1657"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1658"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0, c1] copy X204^2"]} +{"step" : 458,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X203^2"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1659"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (global (const «Builders_18.HB_unnamed_factory_20»))"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1660"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1660,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1661"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1661,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["global (const «Builders_18.HB_unnamed_factory_20») = X203^2"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1662"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1662,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 459,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (global (const «Builders_18.HB_unnamed_factory_20»))"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 460,"kind" : ["Info"],"goal_id" : 1659,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_20»)) X203^2"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:","(copy (as (global _) A0) A0) :- (!)."]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X203^2 := global (const «Builders_18.HB_unnamed_factory_20»)"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1657,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1663"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 461,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 462,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 462,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 462,"kind" : ["Info"],"goal_id" : 1663,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0, c1] copy X204^2"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c1]"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X204^2 := [X205^2 | X206^2]"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1658,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1664"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X205^2"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1665"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c1] copy X206^2"]} +{"step" : 463,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X205^2"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X205^2"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1664,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1666"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1667"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1668"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X205^2"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1669"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 464,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1666,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1670"]} +{"step" : 465,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 466,"kind" : ["Info"],"goal_id" : 1670,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 467,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 467,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 467,"kind" : ["Info"],"goal_id" : 1667,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X205^2"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X205 c0 c1 := c0"]} +{"step" : 468,"kind" : ["Info"],"goal_id" : 1668,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 469,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 469,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 469,"kind" : ["Info"],"goal_id" : 1669,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c1] copy X206^2"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X206^2 := [X207^2 | X208^2]"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1665,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1671"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c1 X207^2"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1672"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] copy X208^2"]} +{"step" : 470,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c1 X207^2"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X207^2"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1671,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1673"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c1"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1674"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1675"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = X207^2"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1676"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 471,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c1"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1673,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1677"]} +{"step" : 472,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = c1"]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = c1"]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 473,"kind" : ["Info"],"goal_id" : 1677,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 474,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 474,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 474,"kind" : ["Info"],"goal_id" : 1674,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = X207^2"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X207 c0 c1 := c1"]} +{"step" : 475,"kind" : ["Info"],"goal_id" : 1675,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 476,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 476,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 476,"kind" : ["Info"],"goal_id" : 1676,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] copy X208^2"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X208^2 := []"]} +{"step" : 477,"kind" : ["Info"],"goal_id" : 1672,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n (copy-pack-holes c0) X192^2"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X192^2 := [X209^2 | X210^2]"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1635,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1678"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) X209^2"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1679"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] (copy-pack-holes c0) X210^2"]} +{"step" : 478,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 \n (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) X209^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X209^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1678,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1680"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X211^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1681"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X211^2 X212^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1682"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X213^2 | c6] c3) | X212^2]\n =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 479,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X211^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X211^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1680,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1683"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X214^2) X215^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1684"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X215^2 local-canonical-gref X211^2"]} +{"step" : 480,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X214^2) X215^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X214^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X215^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1683,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1685"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X214^2) X215^2"]} +{"step" : 481,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X214^2) X215^2"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1687,"runtime_id" : 13,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X215^2 := []"]} +{"step" : 482,"kind" : ["Info"],"goal_id" : 1685,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X211^2"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X211^2 := []"]} +{"step" : 483,"kind" : ["Info"],"goal_id" : 1684,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X212^2"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X212^2 := []"]} +{"step" : 484,"kind" : ["Info"],"goal_id" : 1681,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X213^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X213^2 | c6] c3)] =>\n copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1682,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1688"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 485,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:485)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:485)\", line 1, column 0, character 0:","(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1)."]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := const «Builders_18.HB_unnamed_factory_22»"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [c0, c1]"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X209^2 := app [global (const «Builders_18.HB_unnamed_factory_22») | X216^2]"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1689"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pack? (const «Builders_18.HB_unnamed_factory_22») _"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1690"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1690,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1691"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1691,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [c0, c1] [X217^2, c0 | X218^2]"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1692"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1692,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X213^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1693"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1693,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X218^2 copy X219^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1694"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1694,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [global (const «elpi.hole»), X213^2 | X219^2] X216^2"]} +{"step" : 486,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pack?","pack? (const «Builders_18.HB_unnamed_factory_22») _"]} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 487,"kind" : ["Info"],"goal_id" : 1689,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X209^2"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1695"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1696"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1696,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1697"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1697,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] = X209^2"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1698"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1698,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 488,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 489,"kind" : ["Info"],"goal_id" : 1695,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]) \n X209^2"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:","(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)."]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X209^2 := app X220^2"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1688,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1699"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1700"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2"]} +{"step" : 490,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 491,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 491,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 491,"kind" : ["Info"],"goal_id" : 1699,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0, c1]"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X220^2 := [X221^2 | X222^2]"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1700,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1701"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1702"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0, c1] copy X222^2"]} +{"step" : 492,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X221^2"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1703"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name (global (const «Builders_18.HB_unnamed_factory_22»))"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1704"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1704,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1705"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1705,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["global (const «Builders_18.HB_unnamed_factory_22») = X221^2"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1706"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1706,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 493,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name (global (const «Builders_18.HB_unnamed_factory_22»))"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 494,"kind" : ["Info"],"goal_id" : 1703,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy (global (const «Builders_18.HB_unnamed_factory_22»)) X221^2"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:","(copy (as (global _) A0) A0) :- (!)."]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X221^2 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1701,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1707"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 495,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 496,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 496,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 496,"kind" : ["Info"],"goal_id" : 1707,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0, c1] copy X222^2"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c1]"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X222^2 := [X223^2 | X224^2]"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1702,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1708"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X223^2"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1709"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c1] copy X224^2"]} +{"step" : 497,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X223^2"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X223^2"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1708,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1710"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1711"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1712"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X223^2"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1713"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 498,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1710,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1714"]} +{"step" : 499,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 500,"kind" : ["Info"],"goal_id" : 1714,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 501,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 501,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 501,"kind" : ["Info"],"goal_id" : 1711,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X223^2"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X223 c0 c1 := c0"]} +{"step" : 502,"kind" : ["Info"],"goal_id" : 1712,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 503,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 503,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 503,"kind" : ["Info"],"goal_id" : 1713,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c1] copy X224^2"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X224^2 := [X225^2 | X226^2]"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1709,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1715"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c1 X225^2"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1716"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] copy X226^2"]} +{"step" : 504,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c1 X225^2"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X225^2"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1715,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1717"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c1"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1718"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1719"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = X225^2"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1720"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 505,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c1"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1717,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1721"]} +{"step" : 506,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = c1"]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = c1"]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 507,"kind" : ["Info"],"goal_id" : 1721,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 508,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 508,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 508,"kind" : ["Info"],"goal_id" : 1718,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = X225^2"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X225 c0 c1 := c1"]} +{"step" : 509,"kind" : ["Info"],"goal_id" : 1719,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 510,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 510,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 510,"kind" : ["Info"],"goal_id" : 1720,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] copy X226^2"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X226^2 := []"]} +{"step" : 511,"kind" : ["Info"],"goal_id" : 1716,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] (copy-pack-holes c0) X210^2"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X210^2 := []"]} +{"step" : 512,"kind" : ["Info"],"goal_id" : 1679,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.spy","std.spy\n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","File \"builtin_stdlib.elpi\", line 49, column 0, character 1863:"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0)."]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1613,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1722"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["trace.counter run X227^2"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1723"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (not (X227^2 = 0)) (std.debug-print run= X227^2) true"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1724"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1725"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1726"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 513,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["trace.counter","trace.counter run X227^2"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["trace.counter"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1722,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1727"]} +{"step" : 514,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X227^2 = 0"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X227^2 = 0"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X227^2 := 0"]} +{"step" : 515,"kind" : ["Info"],"goal_id" : 1727,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not (0 = 0)"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.debug-print run= 0"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1728"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not (0 = 0)"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1729"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1729,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1730"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1730,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print run= 0"]} +{"step" : 516,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not (0 = 0)"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 0 = 0"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1728,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1731"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["0 = 0"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1732"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1733"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 517,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","0 = 0"]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 518,"kind" : ["Info"],"goal_id" : 1731,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1728","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 519,"kind" : ["Info"],"goal_id" : 1732,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 520,"kind" : ["Info"],"goal_id" : 1733,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1723,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1734"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 521,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 522,"kind" : ["Info"],"goal_id" : 1734,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.debug-print","std.debug-print ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","(std.debug-print A0 A1) :- (!), (coq.say A0 A1)."]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ----<<---- enter: "]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1724,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1735"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1736"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 523,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1724","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:","(std.debug-print A0 A1) :- (print A0 A1)."]} +{"step" : 524,"kind" : ["Info"],"goal_id" : 1735,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.say","coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.say"]} +{"step" : 525,"kind" : ["Info"],"goal_id" : 1736,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.take","std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] X175^1"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 88, column 0, character 2914:","File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 88, column 0, character 2914:","(std.take 0 _ []) :- (!)."]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X175^1 := []"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1725,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1737"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 526,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1725","File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3)."]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1725","File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:","(std.take _ _ _) :- (std.fatal-error take run out of list items)."]} +{"step" : 527,"kind" : ["Info"],"goal_id" : 1737,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.debug-print","std.debug-print ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","(std.debug-print A0 A1) :- (!), (coq.say A0 A1)."]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ---->>---- exit: "]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n []"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1726,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1738"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1739"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])"]} +{"step" : 528,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1726","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:","(std.debug-print A0 A1) :- (print A0 A1)."]} +{"step" : 529,"kind" : ["Info"],"goal_id" : 1738,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.say","coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.say"]} +{"step" : 530,"kind" : ["Info"],"goal_id" : 1739,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1613","File \"builtin_stdlib.elpi\", line 49, column 0, character 1863:","(std.spy A0) :- (std.debug-print ---->>---- fail: A0), fail."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1611","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «SelfA.axioms_») 0) :- ."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1611","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «IsSelfA'.axioms_») 0) :- ."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1602","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 531,"kind" : ["Info"],"goal_id" : 1603,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 532,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 532,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 532,"kind" : ["Info"],"goal_id" : 1600,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do! []"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:"]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 255, column 0, character 8595:","(std.do! []) :- ."]} +{"step" : 533,"kind" : ["Info"],"goal_id" : 1601,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map2","std.map2\n [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasB.axioms_», indt «HasA.axioms_»] (factory-provides.one [] c0) \n X174^1"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 141, column 0, character 4745:","(std.map2 [A0 | A1] [A2 | A3] A4 [A5 | A6]) :- (A4 A0 A2 A5), \n (std.map2 A1 A3 A4 A6)."]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [global (const «Builders_18.HB_unnamed_factory_20»)]"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := indt «HasB.axioms_»"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := [indt «HasA.axioms_»]"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A4 := factory-provides.one [] c0"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X174^1 := [X228^1 | X229^1]"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1578,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1740"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_22»)) \n (indt «HasB.axioms_») X228^1"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1741"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1741,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map2 [global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «HasA.axioms_»] (factory-provides.one [] c0) X229^1"]} +{"step" : 534,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-provides.one","factory-provides.one [] c0 \n (global (const «Builders_18.HB_unnamed_factory_22»)) \n (indt «HasB.axioms_») X228^1"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 108, column 0, character 3601:","(factory-provides.one A0 A1 A2 A3 (triple A3 A4 A1)) :- (std.do!\n [std.assert-ok!\n (coq.typecheck\n A2 A5) \n Builder illtyped, \n (coq.subst-prod\n A0 A5 A7 ,\n coq.subst-prod\n [A1] A7 A6), \n std.assert!\n (extract-conclusion-params\n A1 A6 A4) \n The conclusion of a builder is a mixin whose parameters depend on other mixins])."]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := global (const «Builders_18.HB_unnamed_factory_22»)"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := indt «HasB.axioms_»"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X228^1 := triple (indt «HasB.axioms_») X230^1 c0"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1740,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1742"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 535,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped, \n (coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1) Builder illtyped"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1742,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1743"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1744"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1745"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 536,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert-ok!","std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 40, column 0, character 1406:","(std.assert-ok! A0 A1) :- (A0 A2), (!), \n (A2 = ok ; A2 = error A3 , std.fatal-error-w-data A1 A3), (!)."]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := Builder illtyped"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1743,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1746"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1747"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1748"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X234^1 = ok ;\n X234^1 = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1749"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 537,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.typecheck","coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.typecheck"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1750"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1746,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1751"]} +{"step" : 538,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X234^1 = ok"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X231^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 539,"kind" : ["Info"],"goal_id" : 1750,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X234^1 = ok"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X234^1 := ok"]} +{"step" : 540,"kind" : ["Info"],"goal_id" : 1751,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1743","File \"builtin_stdlib.elpi\", line 41, column 0, character 1520:","(std.assert-ok! _ A0) :- (std.fatal-error-w-data A0 no diagnostic returned)."]} +{"step" : 541,"kind" : ["Info"],"goal_id" : 1747,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","ok = ok ; ok = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ok = ok"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1748,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1752"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["ok = ok"]} +{"step" : 542,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","ok = ok"]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 543,"kind" : ["Info"],"goal_id" : 1752,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1748","File \"elpi-builtin.elpi\", line 30, column 0, character 311:","(_ ; A0) :- A0."]} +{"step" : 544,"kind" : ["Info"],"goal_id" : 1749,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 545,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 545,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 545,"kind" : ["Info"],"goal_id" : 1744,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [(coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1745,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1753"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1754"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1755"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do!\n [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 546,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:curgoal","payload" : [",","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:rule","payload" : ["and"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1756"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1757"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [c0] X232^1 X233^1"]} +{"step" : 547,"kind" : ["Info"],"goal_id" : 1753,"runtime_id" : 8,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X232^1 := prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c1]) c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1756,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1758"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 548,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1756","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 549,"kind" : ["Info"],"goal_id" : 1758,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [c0] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X233^1"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 37, column 0, character 1368:","(coq.subst-prod [A0 | A1] (prod _ _ A2) A3) :- (!), \n (coq.subst-prod A1 (A2 A0) A3)."]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X233^1"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1757,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1759"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1760"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1"]} +{"step" : 550,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1757","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1757","File \"/build/source/./elpi/coq-lib.elpi\", line 39, column 0, character 1505:","(coq.subst-prod [_ | _] A0 _) :- (!), \n (std.fatal-error-w-data subst-prod: not a product A0)."]} +{"step" : 551,"kind" : ["Info"],"goal_id" : 1759,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.subst-prod","coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 36, column 0, character 1340:","(coq.subst-prod [] A0 A0) :- (!)."]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X233^1 := prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1760,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1761"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 552,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1760","File \"/build/source/./elpi/coq-lib.elpi\", line 38, column 0, character 1438:","(coq.subst-prod A0 (let _ _ A1 A2) A3) :- (!), \n (coq.subst-prod A0 (A2 A1) A3)."]} +{"step" : 553,"kind" : ["Info"],"goal_id" : 1761,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 554,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 554,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 554,"kind" : ["Info"],"goal_id" : 1754,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.do!","std.do!\n [std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 256, column 0, character 8603:","(std.do! [A0 | A1]) :- A0, (!), (std.do! A1)."]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1755,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1762"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1763"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1763,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1764"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1764,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.do! []"]} +{"step" : 555,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.assert!","std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 35, column 0, character 1155:","(std.assert! A0 A1) :- (A0 ; std.fatal-error-w-data A1 A0), (!)."]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := The conclusion of a builder is a mixin whose parameters depend on other mixins"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1762,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1765"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1766"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1766,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 556,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:curgoal","payload" : [";","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","File \"elpi-builtin.elpi\", line 30, column 0, character 311:"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 28, column 0, character 296:","(A0 ; _) :- A0."]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1765,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1767"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 557,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c1 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app [global (const «IsSelfA'.phant_axioms»), c0]"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := c1 \\\napp\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X230^1"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1767,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1768"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1769"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 558,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1767","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1767","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 559,"kind" : ["Info"],"goal_id" : 1768,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pi","pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:rule","payload" : ["pi"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1769,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1770"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 560,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1770,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1771"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 561,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["extract-conclusion-params","extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 115, column 0, character 3974:","(extract-conclusion-params A0 (prod _ A1 A2) A3) :- (!), \n (pi (c2 \\ (decl c0 _ A1 => extract-conclusion-params A0 (A2 c0) A3)))."]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["match\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] with prod _ A1 A2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 117, column 0, character 4090:","(extract-conclusion-params A0 (app [global A1 | A2]) A3) :- (!), \n (factory-alias->gref A1 A4), (factory-nparams A4 A5), \n (std.map A2 (copy-pack-holes A0) A6), (std.spy (std.take A5 A6 A3))."]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := indt «HasB.axioms_»"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A3 := X230^1"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1771,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1772"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1773"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-alias->gref (indt «HasB.axioms_») X236^2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1774"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["factory-nparams X236^2 X237^2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1775"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] (copy-pack-holes c0) X238^2"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1776"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.spy (std.take X237^2 X238^2 X230^1)"]} +{"step" : 562,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1771","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 122, column 0, character 4303:","(extract-conclusion-params A0 A1 A2) :- (whd1 A1 A3), (!), \n (extract-conclusion-params A0 A3 A2)."]} +{"step" : 563,"kind" : ["Info"],"goal_id" : 1772,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «HasB.axioms_») X236^2"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 74, column 0, character 2385:","(factory-alias->gref A0 A1) :- (phant-abbrev A1 A0 _), (!)."]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasB.axioms_»"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X236^2"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1777"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev X236^2 (indt «HasB.axioms_») _"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1778"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1778,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 564,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev X236^2 (indt «HasB.axioms_») _"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «HasA.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasA.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasA.Axioms_») (const «HasA.phant_Build») \n «interleave_context.HasA.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «HasA.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasA.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «HasB.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasB.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «HasB.Axioms_») (const «HasB.phant_Build») \n «interleave_context.HasB.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «HasB.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «HasB.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «IsSelfA.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA.Axioms_») (const «IsSelfA.phant_Build») \n «interleave_context.IsSelfA.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «IsSelfA.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «IsSelfA'.axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA'.phant_axioms»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indc «IsSelfA'.Axioms_») (const «IsSelfA'.phant_Build») \n «interleave_context.IsSelfA'.Build») :- ."]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indc «IsSelfA'.Axioms_»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with const «IsSelfA'.phant_Build»"]} +{"step" : 565,"kind" : ["Info"],"goal_id" : 1777,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-alias->gref","factory-alias->gref (indt «HasB.axioms_») X236^2"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 75, column 0, character 2443:","(factory-alias->gref A0 A0) :- (phant-abbrev A0 _ _), (!)."]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := indt «HasB.axioms_»"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X236^2 := indt «HasB.axioms_»"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1773,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1779"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["phant-abbrev (indt «HasB.axioms_») _ _"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1780"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 566,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["phant-abbrev","phant-abbrev (indt «HasB.axioms_») _ _"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasA.axioms_») (const «HasA.phant_axioms») \n «interleave_context.HasA.axioms») :- ."]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with indt «HasA.axioms_»"]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «HasB.axioms_») (const «HasB.phant_axioms») \n «interleave_context.HasB.axioms») :- ."]} +{"step" : 567,"kind" : ["Info"],"goal_id" : 1779,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1779","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA.axioms_») (const «IsSelfA.phant_axioms») \n «interleave_context.IsSelfA.axioms») :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1779","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(phant-abbrev (indt «IsSelfA'.axioms_») (const «IsSelfA'.phant_axioms») \n «interleave_context.IsSelfA'.axioms») :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1773","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «A.axioms_») (indt «A.axioms_»)) :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1773","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «B.axioms_») (indt «B.axioms_»)) :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1773","File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-alias->gref (indt «SelfA.axioms_») (indt «SelfA.axioms_»)) :- ."]} +{"step" : 568,"kind" : ["Info"],"goal_id" : 1780,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["factory-nparams","factory-nparams (indt «HasB.axioms_») X237^2"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:","File \"(elpi.add_clause)\", line 1, column 0, character 0:"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasA.axioms_») 1) :- ."]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with indt «HasA.axioms_»"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «A.axioms_») 1) :- ."]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify indt «HasB.axioms_» with indt «A.axioms_»"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(elpi.add_clause)\", line 1, column 0, character 0:","(factory-nparams (indt «HasB.axioms_») 1) :- ."]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X237^2 := 1"]} +{"step" : 569,"kind" : ["Info"],"goal_id" : 1774,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] (copy-pack-holes c0) X238^2"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0]"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X238^2 := [X239^2 | X240^2]"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1775,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1781"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 \n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1782"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0] (copy-pack-holes c0) X240^2"]} +{"step" : 570,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 \n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X239^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1781,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1783"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X241^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1784"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X241^2 X242^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1785"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X243^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X243^2 | c6] c3) | X242^2]\n =>\n copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 571,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X241^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X241^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1783,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1786"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X244^2) X245^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1787"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X245^2 local-canonical-gref X241^2"]} +{"step" : 572,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X244^2) X245^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X244^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X245^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1786,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1788"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X244^2) X245^2"]} +{"step" : 573,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X244^2) X245^2"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1790,"runtime_id" : 14,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X245^2 := []"]} +{"step" : 574,"kind" : ["Info"],"goal_id" : 1788,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X241^2"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X241^2 := []"]} +{"step" : 575,"kind" : ["Info"],"goal_id" : 1787,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X242^2"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X242^2 := []"]} +{"step" : 576,"kind" : ["Info"],"goal_id" : 1784,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X243^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X243^2 | c6] c3)] =>\n copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1785,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1791"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 577,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:577)\", line 1, column 0, character 0:","File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:577)\", line 1, column 0, character 0:","(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1)."]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A5 := const «Builders_18.Builders_18_T__canonical__interleave_context_A»"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [c0, c1]"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X239^2 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A») | X246^2]"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1792"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1793"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1793,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1794"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1794,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [c0, c1] [X247^2, c0 | X248^2]"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1795"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1795,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X243^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1796"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1796,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X248^2 copy X249^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1797"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1797,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.rev [global (const «elpi.hole»), X243^2 | X249^2] X246^2"]} +{"step" : 578,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["pack?","pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _"]} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 579,"kind" : ["Info"],"goal_id" : 1792,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X239^2"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1798"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1799"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1799,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1800"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1800,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] = X239^2"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1801"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1801,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 580,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 581,"kind" : ["Info"],"goal_id" : 1798,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]) X239^2"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 119, column 0, character 4703:","(copy (app A0) (app A1)) :- (!), (std.map A0 copy A1)."]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X239^2 := app X250^2"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1791,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1802"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1803"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2"]} +{"step" : 582,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 583,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 583,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 583,"kind" : ["Info"],"goal_id" : 1802,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c0, c1]"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X250^2 := [X251^2 | X252^2]"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1803,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1804"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1805"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c0, c1] copy X252^2"]} +{"step" : 584,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X251^2"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1806"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1807"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1807,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1808"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1808,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["global (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)\n = X251^2"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1809"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1809,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 585,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 586,"kind" : ["Info"],"goal_id" : 1806,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["fail"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)) \n X251^2"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 111, column 0, character 4402:","(copy (as (global _) A0) A0) :- (!)."]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X251^2 := global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»)"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1804,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1810"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 587,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 588,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 588,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 588,"kind" : ["Info"],"goal_id" : 1810,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0, c1] copy X252^2"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := [c1]"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X252^2 := [X253^2 | X254^2]"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1805,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1811"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X253^2"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1812"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [c1] copy X254^2"]} +{"step" : 589,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X253^2"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X253^2"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1811,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1813"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1814"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1815"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X253^2"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1816"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 590,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1813,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1817"]} +{"step" : 591,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 592,"kind" : ["Info"],"goal_id" : 1817,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 593,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 593,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 593,"kind" : ["Info"],"goal_id" : 1814,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X253^2"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X253 c0 c1 := c0"]} +{"step" : 594,"kind" : ["Info"],"goal_id" : 1815,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 595,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 595,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 595,"kind" : ["Info"],"goal_id" : 1816,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c1] copy X254^2"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X254^2 := [X255^2 | X256^2]"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1812,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1818"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c1 X255^2"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1819"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] copy X256^2"]} +{"step" : 596,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c1 X255^2"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c1"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X255^2"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1818,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1820"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c1"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1821"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1822"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = X255^2"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1823"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 597,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c1"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1820,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1824"]} +{"step" : 598,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c1 = c1"]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = c1"]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 599,"kind" : ["Info"],"goal_id" : 1824,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 600,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 600,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 600,"kind" : ["Info"],"goal_id" : 1821,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c1 = X255^2"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X255 c0 c1 := c1"]} +{"step" : 601,"kind" : ["Info"],"goal_id" : 1822,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 602,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 602,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 602,"kind" : ["Info"],"goal_id" : 1823,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] copy X256^2"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X256^2 := []"]} +{"step" : 603,"kind" : ["Info"],"goal_id" : 1819,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [c0] (copy-pack-holes c0) X240^2"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 124, column 0, character 4097:","(std.map [A0 | A1] A2 [A3 | A4]) :- (A2 A0 A3), (std.map A1 A2 A4)."]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := copy-pack-holes c0"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X240^2 := [X257^2 | X258^2]"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1782,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1825"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy-pack-holes c0 c0 X257^2"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1826"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map [] (copy-pack-holes c0) X258^2"]} +{"step" : 604,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy-pack-holes","copy-pack-holes c0 c0 X257^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/utils.elpi\", line 318, column 0, character 12866:","(copy-pack-holes A0 A1 A2) :- (findall-local-canonical A3), \n (coq.copy-clauses-for-unfold A3 A4), \n ([pi (c2 \\\n (pi (c3 \\\n (pi (c4 \\\n (pi (c5 \\\n (pi (c6 \\\n (pi (c7 \\\n (copy (app [global c5 | c0]) (app [global c5 | c1]) :-\n , (pack? c5 _) (!) (std.rev c0 [c2, A0 | c3]) (copy A0 A5) \n (std.map c3 copy c4) \n (std.rev [global (const «elpi.hole»), A5 | c4] c1))))))))))))) | A4]\n => copy A1 A2)."]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := c0"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := X257^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1825,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1827"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall-local-canonical X259^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1828"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.copy-clauses-for-unfold X259^2 X260^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1829"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X261^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X261^2 | c6] c3) | X260^2]\n => copy c0 X257^2"]} +{"step" : 605,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall-local-canonical","findall-local-canonical X259^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/database.elpi\", line 200, column 0, character 7260:","(findall-local-canonical A0) :- (std.findall (local-canonical A1) A2), \n (std.map A2 local-canonical-gref A0)."]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := X259^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1827,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1830"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.findall (local-canonical X262^2) X263^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1831"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.map X263^2 local-canonical-gref X259^2"]} +{"step" : 606,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.findall","std.findall (local-canonical X262^2) X263^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 283, column 0, character 9378:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := local-canonical X262^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X263^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1830,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1832"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["findall_solutions (local-canonical X262^2) X263^2"]} +{"step" : 607,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (local-canonical X262^2) X263^2"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:newgoal","payload" : ["local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:curgoal","payload" : ["local-canonical","local-canonical X0^2"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 1834,"runtime_id" : 15,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X263^2 := []"]} +{"step" : 608,"kind" : ["Info"],"goal_id" : 1832,"runtime_id" : 8,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] local-canonical-gref X259^2"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X259^2 := []"]} +{"step" : 609,"kind" : ["Info"],"goal_id" : 1831,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.copy-clauses-for-unfold","coq.copy-clauses-for-unfold [] X260^2"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/home/gares/MATHCOMP/hierarchy-builder/HB/common/stdpp.elpi\", line 196, column 0, character 7411:","(coq.copy-clauses-for-unfold [] []) :- ."]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X260^2 := []"]} +{"step" : 610,"kind" : ["Info"],"goal_id" : 1828,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=>","[pi c2 \\\n pi c3 \\\n pi c4 \\\n pi c5 \\\n pi c6 \\\n pi c7 \\\n copy (app [global c7 | c2]) (app [global c7 | c3]) :-\n , (pack? c7 _) (!) (std.rev c2 [c4, c0 | c5]) (copy c0 X261^2) \n (std.map c5 copy c6) \n (std.rev [global (const «elpi.hole»), X261^2 | c6] c3)] =>\n copy c0 X257^2"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:rule","payload" : ["implication"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1829,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1835"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["copy c0 X257^2"]} +{"step" : 611,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["copy","copy c0 X257^2"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 109, column 0, character 4312:","(copy A0 A1) :- (name A0), (!), (A0 = A1), (!)."]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := X257^2"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1835,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1836"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["name c0"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1837"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1838"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = X257^2"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1839"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 612,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["name","name c0"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["name"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1836,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1840"]} +{"step" : 613,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["c0 = c0"]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = c0"]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 614,"kind" : ["Info"],"goal_id" : 1840,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 615,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 615,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 615,"kind" : ["Info"],"goal_id" : 1837,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","c0 = X257^2"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X257 c0 c1 := c0"]} +{"step" : 616,"kind" : ["Info"],"goal_id" : 1838,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 617,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 617,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 617,"kind" : ["Info"],"goal_id" : 1839,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.map","std.map [] (copy-pack-holes c0) X258^2"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 123, column 0, character 4084:","(std.map [] _ []) :- ."]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X258^2 := []"]} +{"step" : 618,"kind" : ["Info"],"goal_id" : 1826,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.spy","std.spy\n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","File \"builtin_stdlib.elpi\", line 49, column 0, character 1863:"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 45, column 0, character 1682:","(std.spy A0) :- (trace.counter run A1), \n (if (not (A1 = 0)) (std.debug-print run= A1) true), \n (std.debug-print ----<<---- enter: A0), A0, \n (std.debug-print ---->>---- exit: A0)."]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1776,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1841"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["trace.counter run X264^2"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1842"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["if (not (X264^2 = 0)) (std.debug-print run= X264^2) true"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1843"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1844"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1845"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1845,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print ---->>---- exit: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 619,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["trace.counter","trace.counter run X264^2"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["trace.counter"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1841,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1846"]} +{"step" : 620,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["X264^2 = 0"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","X264^2 = 0"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["X264^2 := 0"]} +{"step" : 621,"kind" : ["Info"],"goal_id" : 1846,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 404, column 0, character 9190:","(if A0 A1 _) :- A0, (!), A1."]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := not (0 = 0)"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.debug-print run= 0"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1847"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["not (0 = 0)"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1848"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1848,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1849"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1849,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.debug-print run= 0"]} +{"step" : 622,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["not","not (0 = 0)"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","File \"elpi-builtin.elpi\", line 54, column 0, character 631:"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 52, column 0, character 609:","(not A0) :- A0, (!), fail."]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 0 = 0"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1847,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1850"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["0 = 0"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1851"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1852"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 623,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["=","0 = 0"]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule","payload" : ["eq"]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 624,"kind" : ["Info"],"goal_id" : 1850,"runtime_id" : 8,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1847","File \"elpi-builtin.elpi\", line 54, column 0, character 631:","(not _) :- ."]} +{"step" : 625,"kind" : ["Info"],"goal_id" : 1851,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 626,"kind" : ["Info"],"goal_id" : 1852,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["if","if (not (0 = 0)) (std.debug-print run= 0) true"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 405, column 0, character 9211:","(if _ _ A0) :- A0."]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1842,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1853"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 627,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:"]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 9, column 0, character 89:","true :- ."]} +{"step" : 628,"kind" : ["Info"],"goal_id" : 1853,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.debug-print","std.debug-print ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 17, column 0, character 660:","(std.debug-print A0 A1) :- (!), (coq.say A0 A1)."]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := ----<<---- enter: "]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1843,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1854"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1855"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 629,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1843","File \"builtin_stdlib.elpi\", line 24, column 0, character 874:","(std.debug-print A0 A1) :- (print A0 A1)."]} +{"step" : 630,"kind" : ["Info"],"goal_id" : 1854,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["coq.say","coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:rule:builtin:name","payload" : ["coq.say"]} +{"step" : 631,"kind" : ["Info"],"goal_id" : 1855,"runtime_id" : 8,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.take","std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 89, column 0, character 2932:","(std.take A0 [A1 | A2] [A1 | A3]) :- (!), (A4 is A0 - 1), \n (std.take A4 A2 A3)."]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := 1"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A2 := [c0]"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:backchain:fail-to","payload" : ["unify X230^1 with [app EXN PRINTING: Elpi__Runtime.HO.RestrictionFailure"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 90, column 0, character 2985:","(std.take _ _ _) :- (std.fatal-error take run out of list items)."]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1844,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1856"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["std.fatal-error take run out of list items"]} +{"step" : 632,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["std.fatal-error","std.fatal-error take run out of list items"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 9, column 0, character 465:","File \"builtin_stdlib.elpi\", line 16, column 0, character 659:"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 9, column 0, character 465:","(std.fatal-error A0) :- (!), (stop A0)."]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := take run out of list items"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1856,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1857"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1858"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["stop take run out of list items"]} +{"step" : 633,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:rule","payload" : ["cut"]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:rule:cut:branch","payload" : ["1856","File \"builtin_stdlib.elpi\", line 16, column 0, character 659:","(std.fatal-error A0) :- (halt A0)."]} +{"step" : 634,"kind" : ["Info"],"goal_id" : 1857,"runtime_id" : 8,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["stop","stop take run out of list items"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"elpi-builtin.elpi\", line 67, column 0, character 960:","File \"/build/source/./elpi/coq-lib.elpi\", line 22, column 0, character 794:","File \"/build/source/./elpi/coq-lib.elpi\", line 23, column 0, character 852:"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"elpi-builtin.elpi\", line 67, column 0, character 960:","stop :- (halt)."]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 22, column 0, character 794:","(stop A0) :- (get-option ltac:fail A1), (!), (coq.ltac.fail A1 A0)."]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := take run out of list items"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1859"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["get-option ltac:fail X265^2"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1860"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1860,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1861"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1861,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.ltac.fail X265^2 take run out of list items"]} +{"step" : 635,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["get-option","get-option ltac:fail X265^2"]} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 636,"kind" : ["Info"],"goal_id" : 1859,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:curgoal","payload" : ["stop","stop take run out of list items"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:candidates","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 23, column 0, character 852:"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:rule:backchain:try","payload" : ["File \"/build/source/./elpi/coq-lib.elpi\", line 23, column 0, character 852:","(stop A0) :- (coq.error A0)."]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 8,"name" : "user:assign","payload" : ["A0 := take run out of list items"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1858,"runtime_id" : 8,"name" : "user:subgoal","payload" : ["1862"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:newgoal","payload" : ["coq.error take run out of list items"]} +{"step" : 637,"kind" : ["Info"],"goal_id" : 1862,"runtime_id" : 8,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace.elab.json b/src/tests/sources/trace.elab.json new file mode 100644 index 0000000..a7429b3 --- /dev/null +++ b/src/tests/sources/trace.elab.json @@ -0,0 +1,1148 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "events": [] + }, + "siblings": [ { "goal_text": "p 1 X0 ; p 2 X1", "goal_id": 5 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p 1 X0 ; p 2 X1", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := p 1 X0" ] ] + }, + "siblings": [ { "goal_text": "p 1 X0", "goal_id": 6 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 11 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "p 1 X0", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- (1 is 2 + 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 2, + "column": 0, + "character": 21 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 1" ] ] + }, + "siblings": [ { "goal_text": "1 is 2 + 3", "goal_id": 7 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 7 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- (1 is 2 + 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 2, + "column": 0, + "character": 21 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "1 is 2 + 3", + "current_goal_predicate": "is", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A1 is A0) :- (calc A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 91, + "column": 0, + "character": 1631 + } + ] + } + ], + "events": [ + [ "Assign", "A1 := 1" ], [ "Assign", "A0 := 2 + 3" ] + ] + }, + "siblings": [ { "goal_text": "calc (2 + 3) 1", "goal_id": 8 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A1 is A0) :- (calc A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 91, + "column": 0, + "character": 1631 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- (1 is 2 + 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 2, + "column": 0, + "character": 21 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "calc (2 + 3) 1", + "current_goal_predicate": "calc", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "calc", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "1 = 5", "goal_id": 9 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A1 is A0) :- (calc A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 91, + "column": 0, + "character": 1631 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- (1 is 2 + 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 2, + "column": 0, + "character": 21 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 9, + "current_goal_text": "1 = 5", + "current_goal_predicate": "=", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Fail", "unify 1 with 5" ] ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A1 is A0) :- (calc A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 91, + "column": 0, + "character": 1631 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- (1 is 2 + 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 2, + "column": 0, + "character": 21 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "p 1 X0", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 2) :- (A0 = 1), (A1 = 2), (A0 = A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 3, + "column": 0, + "character": 42 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 2" ] ] + }, + "siblings": [ + { "goal_text": "X2 = 1", "goal_id": 10 }, + { "goal_text": "X3 = 2", "goal_id": 11 }, + { "goal_text": "X2 = X3", "goal_id": 12 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 2) :- (A0 = 1), (A1 = 2), (A0 = A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 3, + "column": 0, + "character": 42 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 8, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 10, + "current_goal_text": "X2 = 1", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X2 := 1" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 2) :- (A0 = 1), (A1 = 2), (A0 = A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 3, + "column": 0, + "character": 42 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 9, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 11, + "current_goal_text": "X3 = 2", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Assign", "X3 := 2" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 2) :- (A0 = 1), (A1 = 2), (A0 = A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 3, + "column": 0, + "character": 42 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 10, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 12, + "current_goal_text": "1 = 2", + "current_goal_predicate": "=", + "failed_attempts": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ [ "Fail", "unify 1 with 2" ] ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 2) :- (A0 = 1), (A1 = 2), (A0 = A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 3, + "column": 0, + "character": 42 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 11, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p 1 X0 ; p 2 X1", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ [ "Assign", "A0 := p 2 X1" ] ] + }, + "siblings": [ { "goal_text": "p 2 X1", "goal_id": 13 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 12, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 13, + "current_goal_text": "p 2 X1", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 2 3) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 4, + "column": 0, + "character": 72 + } + ] + } + ], + "events": [ [ "Assign", "X1 := 3" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 2 3) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 4, + "column": 0, + "character": 72 + } + ] + } + ], + "step_id": 12, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p 1 A0 ; p 2 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace.elpi", + "line": 6, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace.json b/src/tests/sources/trace.json new file mode 100644 index 0000000..8786250 --- /dev/null +++ b/src/tests/sources/trace.json @@ -0,0 +1,85 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace.elpi\", line 6, column 0, characters 80-105:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace.elpi\", line 6, column 0, characters 80-105:","main :- (p 1 A0 ; p 2 A1)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p 1 X0 ; p 2 X1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","p 1 X0 ; p 2 X1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := p 1 X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p 1 X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p 1 X0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace.elpi\", line 2, column 0, characters 21-40:","File \"tests/sources/trace.elpi\", line 3, column 0, characters 42-70:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace.elpi\", line 2, column 0, characters 21-40:","(p 1 1) :- (1 is 2 + 3)."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 1"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["1 is 2 + 3"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["is","1 is 2 + 3"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 91, column 0, characters 1631-1649:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 91, column 0, characters 1631-1649:","(A1 is A0) :- (calc A0 A1)."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := 1"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := 2 + 3"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["calc (2 + 3) 1"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["calc","calc (2 + 3) 1"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["calc"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["1 = 5"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=","1 = 5"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule","payload" : ["eq"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 1 with 5"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:eq","payload" : ["fail"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p 1 X0"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace.elpi\", line 3, column 0, characters 42-70:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace.elpi\", line 3, column 0, characters 42-70:","(p 1 2) :- (A0 = 1), (A1 = 2), (A0 = A1)."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 2"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["10"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["X2 = 1"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["11"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["X3 = 2"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["12"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["X2 = X3"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=","X2 = 1"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule","payload" : ["eq"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X2 := 1"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=","X3 = 2"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["eq"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X3 := 2"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=","1 = 2"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule","payload" : ["eq"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 1 with 2"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:eq","payload" : ["fail"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","p 1 X0 ; p 2 X1"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := p 2 X1"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["13"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p 2 X1"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p 2 X1"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace.elpi\", line 4, column 0, characters 72-77:"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace.elpi\", line 4, column 0, characters 72-77:","(p 2 3) :- ."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X1 := 3"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace2.elab.json b/src/tests/sources/trace2.elab.json new file mode 100644 index 0000000..04c0383 --- /dev/null +++ b/src/tests/sources/trace2.elab.json @@ -0,0 +1,627 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "print 1", "goal_id": 5 }, + { + "goal_text": "pi c0 \\ sigma c1 \\ fail => (true , fail)", + "goal_id": 6 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "print 1", + "current_goal_predicate": "print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "pi c0 \\ sigma c1 \\ fail => (true , fail)", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "sigma c1 \\ fail => (true , fail)", + "goal_id": 7 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "sigma c1 \\ fail => (true , fail)", + "current_goal_predicate": "sigma", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "fail => (true , fail)", "goal_id": 8 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "fail => (true , fail)", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "true , fail", "goal_id": 9 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "fail :- ." ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 9, + "current_goal_text": "true , fail", + "current_goal_predicate": ",", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "true", "goal_id": 10 }, + { "goal_text": "fail", "goal_id": 11 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "fail :- ." ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 10, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "fail :- ." ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 8, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 11, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { "rule_text": "fail :- .", "rule_loc": [ "Context", 5 ] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { "rule_text": "fail :- .", "rule_loc": [ "Context", 5 ] } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "and", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "fail :- ." ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "sigma", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail))))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace2.elpi", + "line": 1, + "column": 0, + "character": 0 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace2.json b/src/tests/sources/trace2.json new file mode 100644 index 0000000..1cbd4eb --- /dev/null +++ b/src/tests/sources/trace2.json @@ -0,0 +1,47 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace2.elpi\", line 1, column 0, characters 0-56:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace2.elpi\", line 1, column 0, characters 0-56:","main :- (print 1), (pi c0 \\ (sigma (c1 \\ (fail => (true , fail)))))."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["print 1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["pi c0 \\ sigma c1 \\ fail => (true , fail)"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["print","print 1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["print"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["pi","pi c0 \\ sigma c1 \\ fail => (true , fail)"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["pi"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["sigma c1 \\ fail => (true , fail)"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["sigma","sigma c1 \\ fail => (true , fail)"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["sigma"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail => (true , fail)"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:sigma","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","fail => (true , fail)"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["true , fail"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["fail :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:curgoal","payload" : [",","true , fail"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule","payload" : ["and"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["10"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["11"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:and","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:","true :- ."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:5)\", line 1, column 0, characters 0-0:"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:5)\", line 1, column 0, characters 0-0:","fail :- ."]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace3.elab.json b/src/tests/sources/trace3.elab.json new file mode 100644 index 0000000..5122513 --- /dev/null +++ b/src/tests/sources/trace3.elab.json @@ -0,0 +1,499 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [ { "goal_text": "p X0 3", "goal_id": 5 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p X0 3", + "current_goal_predicate": "p", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 3, + "column": 0, + "character": 22 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 1" ], [ "Fail", "unify 3 with 1" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 2 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 4, + "column": 0, + "character": 29 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 2" ], [ "Fail", "unify 3 with 2" ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 3 3) :- fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 5, + "column": 0, + "character": 36 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 3" ] ] + }, + "siblings": [ { "goal_text": "fail", "goal_id": 6 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 4, 6 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 3, + "column": 0, + "character": 22 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 3, + "column": 0, + "character": 22 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p X0 3", + "current_goal_predicate": "p", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 6, + "column": 0, + "character": 51 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 1" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 7, + "column": 0, + "character": 58 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 2" ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 3) :- fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 8, + "column": 0, + "character": 65 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 4" ] ] + }, + "siblings": [ { "goal_text": "fail", "goal_id": 7 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 6 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 6, + "column": 0, + "character": 51 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 6, + "column": 0, + "character": 51 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p X0 3", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 5 3) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 9, + "column": 0, + "character": 80 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 5" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 5 3) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 9, + "column": 0, + "character": 80 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace3.elpi", + "line": 12, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace3.json b/src/tests/sources/trace3.json new file mode 100644 index 0000000..eb6897e --- /dev/null +++ b/src/tests/sources/trace3.json @@ -0,0 +1,50 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace3.elpi\", line 12, column 0, characters 89-103:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 12, column 0, characters 89-103:","main :- (p A0 3)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p X0 3"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p X0 3"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace3.elpi\", line 3, column 0, characters 22-27:","File \"tests/sources/trace3.elpi\", line 4, column 0, characters 29-34:","File \"tests/sources/trace3.elpi\", line 5, column 0, characters 36-49:","File \"tests/sources/trace3.elpi\", line 6, column 0, characters 51-56:","File \"tests/sources/trace3.elpi\", line 7, column 0, characters 58-63:","File \"tests/sources/trace3.elpi\", line 8, column 0, characters 65-78:","File \"tests/sources/trace3.elpi\", line 9, column 0, characters 80-85:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 3, column 0, characters 22-27:","(p 1 1) :- ."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 1"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 4, column 0, characters 29-34:","(p 2 2) :- ."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 2"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 2"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 5, column 0, characters 36-49:","(p 3 3) :- fail."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 3"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p X0 3"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace3.elpi\", line 6, column 0, characters 51-56:","File \"tests/sources/trace3.elpi\", line 7, column 0, characters 58-63:","File \"tests/sources/trace3.elpi\", line 8, column 0, characters 65-78:","File \"tests/sources/trace3.elpi\", line 9, column 0, characters 80-85:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 6, column 0, characters 51-56:","(p 4 1) :- ."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 4"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 1"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 7, column 0, characters 58-63:","(p 4 2) :- ."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 4"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 2"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 8, column 0, characters 65-78:","(p 4 3) :- fail."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 4"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p X0 3"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace3.elpi\", line 9, column 0, characters 80-85:"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace3.elpi\", line 9, column 0, characters 80-85:","(p 5 3) :- ."]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 5"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace4.elab.json b/src/tests/sources/trace4.elab.json new file mode 100644 index 0000000..1425937 --- /dev/null +++ b/src/tests/sources/trace4.elab.json @@ -0,0 +1,675 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "events": [] + }, + "siblings": [ { "goal_text": "p X0 3 ; true", "goal_id": 5 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p X0 3 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := p X0 3" ] ] + }, + "siblings": [ { "goal_text": "p X0 3", "goal_id": 6 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 6 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "p X0 3", + "current_goal_predicate": "p", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 3, + "column": 0, + "character": 22 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 1" ], [ "Fail", "unify 3 with 1" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 2 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 4, + "column": 0, + "character": 29 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 2" ], [ "Fail", "unify 3 with 2" ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 3 3) :- fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 5, + "column": 0, + "character": 36 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 3" ] ] + }, + "siblings": [ { "goal_text": "fail", "goal_id": 7 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "more_failing_attempts": [ 5 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 3, + "column": 0, + "character": 22 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 3, + "column": 0, + "character": 22 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "p X0 3", + "current_goal_predicate": "p", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 6, + "column": 0, + "character": 51 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 1" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 7, + "column": 0, + "character": 58 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 2" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 4) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 8, + "column": 0, + "character": 65 + } + ] + } + ], + "events": [ + [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 4" ] + ] + } + ], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 4 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 6, + "column": 0, + "character": 51 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p X0 3 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 8 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (p A0 3 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace4.elpi", + "line": 11, + "column": 0, + "character": 74 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace4.json b/src/tests/sources/trace4.json new file mode 100644 index 0000000..ae91372 --- /dev/null +++ b/src/tests/sources/trace4.json @@ -0,0 +1,60 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace4.elpi\", line 11, column 0, characters 74-95:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 11, column 0, characters 74-95:","main :- (p A0 3 ; true)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p X0 3 ; true"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","p X0 3 ; true"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := p X0 3"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p X0 3"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p X0 3"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace4.elpi\", line 3, column 0, characters 22-27:","File \"tests/sources/trace4.elpi\", line 4, column 0, characters 29-34:","File \"tests/sources/trace4.elpi\", line 5, column 0, characters 36-49:","File \"tests/sources/trace4.elpi\", line 6, column 0, characters 51-56:","File \"tests/sources/trace4.elpi\", line 7, column 0, characters 58-63:","File \"tests/sources/trace4.elpi\", line 8, column 0, characters 65-70:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 3, column 0, characters 22-27:","(p 1 1) :- ."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 1"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 1"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 4, column 0, characters 29-34:","(p 2 2) :- ."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 2"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 2"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 5, column 0, characters 36-49:","(p 3 3) :- fail."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 3"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p X0 3"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace4.elpi\", line 6, column 0, characters 51-56:","File \"tests/sources/trace4.elpi\", line 7, column 0, characters 58-63:","File \"tests/sources/trace4.elpi\", line 8, column 0, characters 65-70:"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 6, column 0, characters 51-56:","(p 4 1) :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 4"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 1"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 7, column 0, characters 58-63:","(p 4 2) :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 4"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 2"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace4.elpi\", line 8, column 0, characters 65-70:","(p 4 4) :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := 4"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify 3 with 4"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","p X0 3 ; true"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:","true :- ."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace_chr.elab.json b/src/tests/sources/trace_chr.elab.json new file mode 100644 index 0000000..b247da4 --- /dev/null +++ b/src/tests/sources/trace_chr.elab.json @@ -0,0 +1,1418 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "even X0", "goal_id": 5 }, + { "goal_text": "declare_constraint true X0", "goal_id": 6 }, + { "goal_text": "X0 = s X1", "goal_id": 7 }, + { "goal_text": "not (even X1)", "goal_id": 8 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "even X0", + "current_goal_predicate": "even", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X0" ] ] + }, + "siblings": [ + { + "goal_text": "declare_constraint (even X0) X0", + "goal_id": 9 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Suspend", + { + "suspend_goal_id": 9, + "suspend_goal_text": "declare_constraint (even X0) X0", + "suspend_sibling": { "goal_text": "even X0", "goal_id": 10 }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Suspend", + { + "suspend_goal_id": 6, + "suspend_goal_text": "declare_constraint true X0", + "suspend_sibling": { "goal_text": "true", "goal_id": 11 }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "X0 = s X1", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X0 := s X1" ], [ "ResumeGoal", [ 11, 10 ] ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Resume", + [ + { "goal_text": "true", "goal_id": 11 }, + { "goal_text": "even (s X1)", "goal_id": 10 } + ] + ], + "color": "Grey" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 11, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 8, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 10, + "current_goal_text": "even (s X1)", + "current_goal_predicate": "even", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(even (s A0)) :- (odd A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 14, + "column": 0, + "character": 226 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X1" ] ] + }, + "siblings": [ { "goal_text": "odd X1", "goal_id": 12 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(even (s A0)) :- (odd A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 14, + "column": 0, + "character": 226 + } + ] + } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 9, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 12, + "current_goal_text": "odd X1", + "current_goal_predicate": "odd", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(odd (as uvar A0)) :- (declare_constraint (odd A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 17, + "column": 0, + "character": 299 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X1" ] ] + }, + "siblings": [ + { + "goal_text": "declare_constraint (odd X1) X1", + "goal_id": 13 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(odd (as uvar A0)) :- (declare_constraint (odd A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 17, + "column": 0, + "character": 299 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (s A0)) :- (odd A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 14, + "column": 0, + "character": 226 + } + ] + } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 10, + "runtime_id": 0, + "step": [ + "Suspend", + { + "suspend_goal_id": 13, + "suspend_goal_text": "declare_constraint (odd X1) X1", + "suspend_sibling": { "goal_text": "odd X1", "goal_id": 14 }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(odd (as uvar A0)) :- (declare_constraint (odd A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 17, + "column": 0, + "character": 299 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (s A0)) :- (odd A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 14, + "column": 0, + "character": 226 + } + ] + } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "resume", "kind": "Logic", "payload": [] } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 11, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "not (even X1)", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "events": [ [ "Assign", "A0 := even X1" ] ] + }, + "siblings": [ + { "goal_text": "even X1", "goal_id": 15 }, + { "goal_text": "!", "goal_id": 16 }, + { "goal_text": "fail", "goal_id": 17 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 17 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 12, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 15, + "current_goal_text": "even X1", + "current_goal_predicate": "even", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X1" ] ] + }, + "siblings": [ + { + "goal_text": "declare_constraint (even X1) X1", + "goal_id": 18 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 12, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 13, + "runtime_id": 0, + "step": [ + "Suspend", + { + "suspend_goal_id": 18, + "suspend_goal_text": "declare_constraint (even X1) X1", + "suspend_sibling": { "goal_text": "even X1", "goal_id": 19 }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(even (as uvar A0)) :- (declare_constraint (even A0) A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 16, + "column": 0, + "character": 248 + } + ] + } + ], + "step_id": 12, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 14, + "runtime_id": 0, + "step": [ + "CHR", + { + "chr_failed_attempts": [ + { + "chr_text": " \\ (even A0) (odd A0) | (odd z) <=> (true)", + "chr_loc": { + "filename": "tests/sources/trace_chr.elpi", + "line": 1, + "column": 21, + "character": 21 + }, + "chr_condition_cards": [ + { + "step_id": 0, + "runtime_id": 1, + "step": [ "Init", { "goal_text": "odd z", "goal_id": 20 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 20, + "current_goal_text": "odd z", + "current_goal_predicate": "odd", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [] + } + ], + "color": "Red" + } + ] + } + ], + "chr_successful_attempts": [ + { + "chr_attempt": { + "chr_text": " \\ (even A0) (odd A0) | (odd (s z)) <=> (fail)", + "chr_loc": { + "filename": "tests/sources/trace_chr.elpi", + "line": 2, + "column": 45, + "character": 67 + }, + "chr_condition_cards": [ + { + "step_id": 0, + "runtime_id": 2, + "step": [ + "Init", { "goal_text": "odd (s z)", "goal_id": 21 } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 2, + "step": [ + "Inference", + { + "current_goal_id": 21, + "current_goal_text": "odd (s z)", + "current_goal_predicate": "odd", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(odd (s A0)) :- (even A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 13, + "column": 0, + "character": 205 + } + ] + } + ], + "events": [ [ "Assign", "A0 := z" ] ] + }, + "siblings": [ + { "goal_text": "even z", "goal_id": 22 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(odd (s A0)) :- (even A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 13, + "column": 0, + "character": 205 + } + ] + } + ], + "step_id": 1, + "runtime_id": 2 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 2, + "step": [ + "Inference", + { + "current_goal_id": 22, + "current_goal_text": "even z", + "current_goal_predicate": "even", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(even z) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 11, + "column": 0, + "character": 196 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(even z) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 11, + "column": 0, + "character": 196 + } + ] + } + ], + "step_id": 2, + "runtime_id": 2 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(odd (s A0)) :- (even A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 13, + "column": 0, + "character": 205 + } + ] + } + ], + "step_id": 1, + "runtime_id": 2 + } + ] + } + ], + "color": "Green" + } + ] + }, + "chr_removed_goals": [ 19, 14 ], + "chr_new_goals": [ { "goal_text": "_ => fail", "goal_id": 23 } ] + } + ], + "chr_store_before": [ + { "goal_text": " even X1 /* suspended on X1 */", "goal_id": 19 }, + { "goal_text": " odd X1 /* suspended on X1 */", "goal_id": 14 } + ], + "chr_store_after": [] + } + ], + "color": "Grey" + }, + { + "step_id": 15, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 23, + "current_goal_text": "_ => fail", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "fail", "goal_id": 24 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 15, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 16, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 24, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 15, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 17, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "not (even X1)", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 71, + "column": 0, + "character": 1211 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 71, + "column": 0, + "character": 1211 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_chr.elpi", + "line": 19, + "column": 0, + "character": 349 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace_chr.json b/src/tests/sources/trace_chr.json new file mode 100644 index 0000000..89b2021 --- /dev/null +++ b/src/tests/sources/trace_chr.json @@ -0,0 +1,143 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 19, column 0, characters 349-420:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 19, column 0, characters 349-420:","main :- (even A0), (declare_constraint true A0), (A0 = s A1), \n (not (even A1))."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["even X0"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["declare_constraint true X0"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["X0 = s X1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["not (even X1)"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["even","even X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 16, column 0, characters 248-297:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 16, column 0, characters 248-297:","(even (as uvar A0)) :- (declare_constraint (even A0) A0)."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["declare_constraint (even X0) X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (even X0) X0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["10"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["even X0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint true X0"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["11"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=","X0 = s X1"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["eq"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := s X1"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign:resume","payload" : ["11 10"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule","payload" : ["resume"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:resume:resumed","payload" : ["true"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:resume:resumed","payload" : ["even (s X1)"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:resume","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:","true :- ."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["even","even (s X1)"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 14, column 0, characters 226-245:"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 14, column 0, characters 226-245:","(even (s A0)) :- (odd A0)."]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := X1"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["12"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["odd X1"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["odd","odd X1"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 17, column 0, characters 299-346:"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 17, column 0, characters 299-346:","(odd (as uvar A0)) :- (declare_constraint (odd A0) A0)."]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := X1"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["13"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["declare_constraint (odd X1) X1"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (odd X1) X1"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["14"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["odd X1"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["not","not (even X1)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 69, column 0, characters 1189-1208:","File \"builtin.elpi\", line 71, column 0, characters 1211-1216:"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 69, column 0, characters 1189-1208:","(not A0) :- A0, !, fail."]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := even X1"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["15"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["even X1"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["16"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["17"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["even","even X1"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 16, column 0, characters 248-297:"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 16, column 0, characters 248-297:","(even (as uvar A0)) :- (declare_constraint (even A0) A0)."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := X1"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["18"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["declare_constraint (even X1) X1"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (even X1) X1"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["19"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["even X1"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:CHR:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 1, column 21, characters 21-66:"," \\ (even A0) (odd A0) | (odd z) <=> (true)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--421 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["odd z"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["odd","odd z"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 1,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:CHR:rule-failed","payload" : []} +{"step" : 14,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:CHR:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 2, column 45, characters 67-116:"," \\ (even A0) (odd A0) | (odd (s z)) <=> (fail)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 2,"name" : "user:assign","payload" : ["A0 := uvar frozen--422 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 2,"name" : "user:newgoal","payload" : ["odd (s z)"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 2,"name" : "user:curgoal","payload" : ["odd","odd (s z)"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 2,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 2,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 13, column 0, characters 205-224:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 2,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 13, column 0, characters 205-224:","(odd (s A0)) :- (even A0)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 2,"name" : "user:assign","payload" : ["A0 := z"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 2,"name" : "user:subgoal","payload" : ["22"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:newgoal","payload" : ["even z"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:curgoal","payload" : ["even","even z"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_chr.elpi\", line 11, column 0, characters 196-202:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_chr.elpi\", line 11, column 0, characters 196-202:","(even z) :- ."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 2,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["23"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["_ => fail"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:CHR:rule-fired","payload" : ["File \"tests/sources/trace_chr.elpi\", line 2, column 45, characters 67-116:"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:CHR:rule-remove-constraints","payload" : ["19","14"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:CHR:store:before","payload" : ["19"," even X1 /* suspended on X1 */"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:CHR:store:before","payload" : ["14"," odd X1 /* suspended on X1 */"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:CHR:resumed","payload" : ["_ => fail"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","_ => fail"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["24"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:new-hyps","payload" : []} +{"step" : 15,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["not","not (even X1)"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 71, column 0, characters 1211-1216:"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 71, column 0, characters 1211-1216:","(not _) :- ."]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace_cut.elab.json b/src/tests/sources/trace_cut.elab.json new file mode 100644 index 0000000..6c4acdd --- /dev/null +++ b/src/tests/sources/trace_cut.elab.json @@ -0,0 +1,820 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- p.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 12, + "column": 0, + "character": 78 + } + ] + } + ], + "events": [] + }, + "siblings": [ { "goal_text": "p", "goal_id": 5 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 7 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- p.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 12, + "column": 0, + "character": 78 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "p :- fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 3, + "column": 0, + "character": 9 + } + ] + } + ], + "events": [] + }, + "siblings": [ { "goal_text": "fail", "goal_id": 6 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 4 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "p :- fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 3, + "column": 0, + "character": 9 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- p.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 12, + "column": 0, + "character": 78 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "p :- fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 3, + "column": 0, + "character": 9 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- p.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 12, + "column": 0, + "character": 78 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "p (! !)", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "p :- !, fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 4, + "column": 0, + "character": 20 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "!", "goal_id": 7 }, + { "goal_text": "fail", "goal_id": 8 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "p :- !, fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 4, + "column": 0, + "character": 20 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- p.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 12, + "column": 0, + "character": 78 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Cut", + { + "cut_goal_id": 7, + "cut_victims": [ + { + "cut_branch_for_goal": { "goal_text": "p", "goal_id": 5 }, + "cut_branch": { + "rule_text": "p :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 5, + "column": 0, + "character": 34 + } + ] + } + }, + { + "cut_branch_for_goal": { "goal_text": "p", "goal_id": 5 }, + "cut_branch": { + "rule_text": "p :- (print 1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 6, + "column": 0, + "character": 37 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "fail", + "current_goal_predicate": "fail", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "p :- !, fail.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 4, + "column": 0, + "character": 20 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- p.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 12, + "column": 0, + "character": 78 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main (! !)", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- q, !, (q => (q :- !) => q).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 13, + "column": 0, + "character": 89 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "q", "goal_id": 9 }, + { "goal_text": "!", "goal_id": 10 }, + { "goal_text": "q => (q :- !) => q", "goal_id": 11 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- q, !, (q => (q :- !) => q).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 13, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 8, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 9, + "current_goal_text": "q", + "current_goal_predicate": "q", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "q :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 9, + "column": 0, + "character": 60 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "q :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 9, + "column": 0, + "character": 60 + } + ] + } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- q, !, (q => (q :- !) => q).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 13, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 9, + "runtime_id": 0, + "step": [ + "Cut", + { + "cut_goal_id": 10, + "cut_victims": [ + { + "cut_branch_for_goal": { "goal_text": "q", "goal_id": 9 }, + "cut_branch": { + "rule_text": "q :- (print 2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 10, + "column": 0, + "character": 63 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 10, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 11, + "current_goal_text": "q => (q :- !) => q", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "(q :- !) => q", "goal_id": 12 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "q :- ." ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- q, !, (q => (q :- !) => q).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 13, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 11, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 12, + "current_goal_text": "(q :- !) => q", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "q", "goal_id": 13 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "q :- !." ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "q :- ." ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- q, !, (q => (q :- !) => q).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 13, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 12, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 13, + "current_goal_text": "q", + "current_goal_predicate": "q", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { "rule_text": "q :- !.", "rule_loc": [ "Context", 11 ] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "!", "goal_id": 14 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { "rule_text": "q :- !.", "rule_loc": [ "Context", 11 ] } + ], + "step_id": 12, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "q :- !." ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "q :- ." ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- q, !, (q => (q :- !) => q).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 13, + "column": 0, + "character": 89 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 13, + "runtime_id": 0, + "step": [ + "Cut", + { + "cut_goal_id": 14, + "cut_victims": [ + { + "cut_branch_for_goal": { "goal_text": "q", "goal_id": 13 }, + "cut_branch": { + "rule_text": "q :- .", + "rule_loc": [ "Context", 10 ] + } + }, + { + "cut_branch_for_goal": { "goal_text": "q", "goal_id": 13 }, + "cut_branch": { + "rule_text": "q :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 9, + "column": 0, + "character": 60 + } + ] + } + }, + { + "cut_branch_for_goal": { "goal_text": "q", "goal_id": 13 }, + "cut_branch": { + "rule_text": "q :- (print 2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_cut.elpi", + "line": 10, + "column": 0, + "character": 63 + } + ] + } + } + ] + } + ], + "color": "Grey" + } +] diff --git a/src/tests/sources/trace_cut.json b/src/tests/sources/trace_cut.json new file mode 100644 index 0000000..2fc4202 --- /dev/null +++ b/src/tests/sources/trace_cut.json @@ -0,0 +1,82 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_cut.elpi\", line 12, column 0, characters 78-87:","File \"tests/sources/trace_cut.elpi\", line 13, column 0, characters 89-121:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_cut.elpi\", line 12, column 0, characters 78-87:","main :- p."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["p"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_cut.elpi\", line 3, column 0, characters 9-18:","File \"tests/sources/trace_cut.elpi\", line 4, column 0, characters 20-32:","File \"tests/sources/trace_cut.elpi\", line 5, column 0, characters 34-35:","File \"tests/sources/trace_cut.elpi\", line 6, column 0, characters 37-49:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_cut.elpi\", line 3, column 0, characters 9-18:","p :- fail."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["p","p (! !)"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_cut.elpi\", line 4, column 0, characters 20-32:","File \"tests/sources/trace_cut.elpi\", line 5, column 0, characters 34-35:","File \"tests/sources/trace_cut.elpi\", line 6, column 0, characters 37-49:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_cut.elpi\", line 4, column 0, characters 20-32:","p :- !, fail."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["cut"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["5","File \"tests/sources/trace_cut.elpi\", line 5, column 0, characters 34-35:","p :- ."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["5","File \"tests/sources/trace_cut.elpi\", line 6, column 0, characters 37-49:","p :- (print 1)."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["fail","fail"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main (! !)"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_cut.elpi\", line 13, column 0, characters 89-121:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_cut.elpi\", line 13, column 0, characters 89-121:","main :- q, !, (q => (q :- !) => q)."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["q"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["10"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["11"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["q => (q :- !) => q"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["q","q"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_cut.elpi\", line 9, column 0, characters 60-61:","File \"tests/sources/trace_cut.elpi\", line 10, column 0, characters 63-75:"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_cut.elpi\", line 9, column 0, characters 60-61:","q :- ."]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule","payload" : ["cut"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["9","File \"tests/sources/trace_cut.elpi\", line 10, column 0, characters 63-75:","q :- (print 2)."]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","q => (q :- !) => q"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["12"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["(q :- !) => q"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["q :- ."]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","(q :- !) => q"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["13"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["q"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["q :- !."]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["q","q"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:11)\", line 1, column 0, characters 0-0:","File \"(context step_id:10)\", line 1, column 0, characters 0-0:","File \"tests/sources/trace_cut.elpi\", line 9, column 0, characters 60-61:","File \"tests/sources/trace_cut.elpi\", line 10, column 0, characters 63-75:"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:11)\", line 1, column 0, characters 0-0:","q :- !."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["14"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule","payload" : ["cut"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["13","File \"(context step_id:10)\", line 1, column 0, characters 0-0:","q :- ."]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["13","File \"tests/sources/trace_cut.elpi\", line 9, column 0, characters 60-61:","q :- ."]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["13","File \"tests/sources/trace_cut.elpi\", line 10, column 0, characters 63-75:","q :- (print 2)."]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:cut","payload" : ["success"]} diff --git a/src/tests/sources/trace_findall.elab.json b/src/tests/sources/trace_findall.elab.json new file mode 100644 index 0000000..c2a717f --- /dev/null +++ b/src/tests/sources/trace_findall.elab.json @@ -0,0 +1,539 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (std.findall (p _) A0), (print A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 6, + "column": 0, + "character": 37 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { "goal_text": "std.findall (p _) X0", "goal_id": 5 }, + { "goal_text": "print X0", "goal_id": 6 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (std.findall (p _) A0), (print A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 6, + "column": 0, + "character": 37 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "std.findall (p _) X0", + "current_goal_predicate": "std.findall", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 322, + "column": 0, + "character": 10227 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := p _" ], [ "Assign", "A1 := X0" ] + ] + }, + "siblings": [ + { "goal_text": "findall_solutions (p _) X0", "goal_id": 7 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 322, + "column": 0, + "character": 10227 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (std.findall (p _) A0), (print A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 6, + "column": 0, + "character": 37 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Findall", + { + "findall_goal_id": 7, + "findall_goal_text": "findall_solutions (p _) X0", + "findall_cards": [ + { + "step_id": 0, + "runtime_id": 1, + "step": [ "Init", { "goal_text": "p X0", "goal_id": 8 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "p X0", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 2, + "column": 0, + "character": 14 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 1" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [ 2, 3 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 1) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 2, + "column": 0, + "character": 14 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 2, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "p X0", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 3, + "column": 0, + "character": 19 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 2" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [ 3 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 3, + "column": 0, + "character": 19 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 3, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "p X0", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 3) :- (p 2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 4, + "column": 0, + "character": 24 + } + ] + } + ], + "events": [ [ "Assign", "X0 := 3" ] ] + }, + "siblings": [ { "goal_text": "p 2", "goal_id": 9 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 3) :- (p 2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 4, + "column": 0, + "character": 24 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 4, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 9, + "current_goal_text": "p 2", + "current_goal_predicate": "p", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(p 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 3, + "column": 0, + "character": 19 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(p 2) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 3, + "column": 0, + "character": 19 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(p 3) :- (p 2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 4, + "column": 0, + "character": 24 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + } + ], + "findall_solution_text": [ "X0 := [p 1, p 2, p 3]" ], + "findall_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "findall", "kind": "FFI", "payload": [] } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(std.findall A0 A1) :- (findall_solutions A0 A1).", + "rule_loc": [ + "File", + { + "filename": "builtin_stdlib.elpi", + "line": 322, + "column": 0, + "character": 10227 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (std.findall (p _) A0), (print A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 6, + "column": 0, + "character": 37 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "print [p 1, p 2, p 3]", + "current_goal_predicate": "print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (std.findall (p _) A0), (print A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_findall.elpi", + "line": 6, + "column": 0, + "character": 37 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace_findall.json b/src/tests/sources/trace_findall.json new file mode 100644 index 0000000..548d76c --- /dev/null +++ b/src/tests/sources/trace_findall.json @@ -0,0 +1,53 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_findall.elpi\", line 6, column 0, characters 37-75:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_findall.elpi\", line 6, column 0, characters 37-75:","main :- (std.findall (p _) A0), (print A0)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["std.findall (p _) X0"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["print X0"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["std.findall","std.findall (p _) X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin_stdlib.elpi\", line 322, column 0, characters 10227-10263:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin_stdlib.elpi\", line 322, column 0, characters 10227-10263:","(std.findall A0 A1) :- (findall_solutions A0 A1)."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := p _"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["findall_solutions (p _) X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["findall_solutions","findall_solutions (p _) X0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["findall"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["p X0"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["p","p X0"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_findall.elpi\", line 2, column 0, characters 14-17:","File \"tests/sources/trace_findall.elpi\", line 3, column 0, characters 19-22:","File \"tests/sources/trace_findall.elpi\", line 4, column 0, characters 24-34:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_findall.elpi\", line 2, column 0, characters 14-17:","(p 1) :- ."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X0 := 1"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["p","p X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_findall.elpi\", line 3, column 0, characters 19-22:","File \"tests/sources/trace_findall.elpi\", line 4, column 0, characters 24-34:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_findall.elpi\", line 3, column 0, characters 19-22:","(p 2) :- ."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X0 := 2"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["p","p X0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_findall.elpi\", line 4, column 0, characters 24-34:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_findall.elpi\", line 4, column 0, characters 24-34:","(p 3) :- (p 2)."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X0 := 3"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["p 2"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["p","p 2"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_findall.elpi\", line 3, column 0, characters 19-22:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_findall.elpi\", line 3, column 0, characters 19-22:","(p 2) :- ."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := [p 1, p 2, p 3]"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:findall","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["print","print [p 1, p 2, p 3]"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["print"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} diff --git a/src/tests/sources/trace_implication.elab.json b/src/tests/sources/trace_implication.elab.json new file mode 100644 index 0000000..815e0a1 --- /dev/null +++ b/src/tests/sources/trace_implication.elab.json @@ -0,0 +1,3277 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "goal_id": 5 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := x0 => z0" ] ] + }, + "siblings": [ { "goal_text": "x0 => z0", "goal_id": 6 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 5 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "x0 => z0", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "z0", "goal_id": 7 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x0 :- ." ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "z0", + "current_goal_predicate": "z0", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x0 :- ." ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true" + ] + ] + }, + "siblings": [ + { + "goal_text": "(x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "goal_id": 8 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "(x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := (x1 , y1) => z1" ] ] + }, + "siblings": [ { "goal_text": "(x1 , y1) => z1", "goal_id": 9 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 9 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 9, + "current_goal_text": "(x1 , y1) => z1", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "z1", "goal_id": 10 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x1 :- .", "y1 :- ." ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 8, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 10, + "current_goal_text": "z1", + "current_goal_predicate": "z1", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x1 :- .", "y1 :- ." ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 9, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "(x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true" + ] + ] + }, + "siblings": [ + { + "goal_text": "[x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "goal_id": 11 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 10, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 11, + "current_goal_text": "[x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := [x2, y2] => z2" ] ] + }, + "siblings": [ { "goal_text": "[x2, y2] => z2", "goal_id": 12 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 13 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 11, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 12, + "current_goal_text": "[x2, y2] => z2", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "z2", "goal_id": 13 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x2 :- .", "y2 :- ." ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 12, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 13, + "current_goal_text": "z2", + "current_goal_predicate": "z2", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x2 :- .", "y2 :- ." ] + } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 13, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 11, + "current_goal_text": "[x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true" + ] + ] + }, + "siblings": [ + { + "goal_text": "[(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "goal_id": 14 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 14, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 14, + "current_goal_text": "[(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := [(x3 :- !), (y3 :- !)] => z3" ] + ] + }, + "siblings": [ + { "goal_text": "[(x3 :- !), (y3 :- !)] => z3", "goal_id": 15 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 17 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 14, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 15, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 15, + "current_goal_text": "[(x3 :- !), (y3 :- !)] => z3", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "z3", "goal_id": 16 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x3 :- !.", "y3 :- !." ] + } + ], + "step_id": 15, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 14, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 16, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 16, + "current_goal_text": "z3", + "current_goal_predicate": "z3", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x3 :- !.", "y3 :- !." ] + } + ], + "step_id": 15, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 14, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 17, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 14, + "current_goal_text": "[(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := (x4 :- y4 , !) => z4 ; [] => z5 ; true" ] + ] + }, + "siblings": [ + { + "goal_text": "(x4 :- y4 , !) => z4 ; [] => z5 ; true", + "goal_id": 17 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 18, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 17, + "current_goal_text": "(x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := (x4 :- y4 , !) => z4" ] ] + }, + "siblings": [ + { "goal_text": "(x4 :- y4 , !) => z4", "goal_id": 18 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 21 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 18, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 19, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 18, + "current_goal_text": "(x4 :- y4 , !) => z4", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "z4", "goal_id": 19 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x4 :- y4, !." ] + } + ], + "step_id": 19, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 18, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 20, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 19, + "current_goal_text": "z4", + "current_goal_predicate": "z4", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "x4 :- y4, !." ] + } + ], + "step_id": 19, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 18, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 21, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 17, + "current_goal_text": "(x4 :- y4 , !) => z4 ; [] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ [ "Assign", "A0 := [] => z5 ; true" ] ] + }, + "siblings": [ { "goal_text": "[] => z5 ; true", "goal_id": 20 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 22, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 20, + "current_goal_text": "[] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "events": [ [ "Assign", "A0 := [] => z5" ] ] + }, + "siblings": [ { "goal_text": "[] => z5", "goal_id": 21 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 25 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 23, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 21, + "current_goal_text": "[] => z5", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "z5", "goal_id": 22 } ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 23, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 24, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 22, + "current_goal_text": "z5", + "current_goal_predicate": "z5", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 23, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(A0 ; _) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 41, + "column": 0, + "character": 586 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 25, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 20, + "current_goal_text": "[] => z5 ; true", + "current_goal_predicate": ";", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "events": [ [ "Assign", "A0 := true" ] ] + }, + "siblings": [ { "goal_text": "true", "goal_id": 23 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 25, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 26, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 23, + "current_goal_text": "true", + "current_goal_predicate": "true", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "true :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 11, + "column": 0, + "character": 147 + } + ] + } + ], + "step_id": 26, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 25, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 17, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(_ ; A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 43, + "column": 0, + "character": 601 + } + ] + } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace_implication.elpi", + "line": 8, + "column": 0, + "character": 136 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace_implication.json b/src/tests/sources/trace_implication.json new file mode 100644 index 0000000..566ba3f --- /dev/null +++ b/src/tests/sources/trace_implication.json @@ -0,0 +1,169 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace_implication.elpi\", line 8, column 0, characters 136-265:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace_implication.elpi\", line 8, column 0, characters 136-265:","main :- (x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ;\n (x4 :- y4 , !) => z4 ; [] => z5 ; true)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := x0 => z0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["x0 => z0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","x0 => z0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["z0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["x0 :- ."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["z0","z0"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","x0 => z0 ;\n (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := (x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["(x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","(x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := (x1 , y1) => z1"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["(x1 , y1) => z1"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","(x1 , y1) => z1"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["10"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["z1"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["x1 :- .","y1 :- ."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["z1","z1"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 8,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","(x1 , y1) => z1 ;\n [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := [x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["11"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["[x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","[x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := [x2, y2] => z2"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["12"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["[x2, y2] => z2"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","[x2, y2] => z2"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["13"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["z2"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["x2 :- .","y2 :- ."]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["z2","z2"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 12,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","[x2, y2] => z2 ;\n [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := [(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["14"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["[(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","[(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := [(x3 :- !), (y3 :- !)] => z3"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["15"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["[(x3 :- !), (y3 :- !)] => z3"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","[(x3 :- !), (y3 :- !)] => z3"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["16"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["z3"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["x3 :- !.","y3 :- !."]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["z3","z3"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 16,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","[(x3 :- !), (y3 :- !)] => z3 ; (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := (x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["17"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["(x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","(x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := (x4 :- y4 , !) => z4"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["18"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["(x4 :- y4 , !) => z4"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","(x4 :- y4 , !) => z4"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["19"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["z4"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["x4 :- y4, !."]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["z4","z4"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","(x4 :- y4 , !) => z4 ; [] => z5 ; true"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := [] => z5 ; true"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["20"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["[] => z5 ; true"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","[] => z5 ; true"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 41, column 0, characters 586-598:","(A0 ; _) :- A0."]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := [] => z5"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["21"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["[] => z5"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","[] => z5"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["22"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["z5"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:new-hyps","payload" : []} +{"step" : 23,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["z5","z5"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 24,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:curgoal","payload" : [";","[] => z5 ; true"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 43, column 0, characters 601-613:","(_ ; A0) :- A0."]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := true"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["23"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["true"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["true","true"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 11, column 0, characters 147-151:","true :- ."]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} diff --git a/src/tests/sources/trace_w.elab.json b/src/tests/sources/trace_w.elab.json new file mode 100644 index 0000000..068ee3c --- /dev/null +++ b/src/tests/sources/trace_w.elab.json @@ -0,0 +1,9162 @@ +[ + { + "step_id": 0, + "runtime_id": 0, + "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 4, + "current_goal_text": "main", + "current_goal_predicate": "main", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "events": [] + }, + "siblings": [ { "goal_text": "tests [2]", "goal_id": 5 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 5, + "current_goal_text": "tests [2]", + "current_goal_predicate": "tests", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "events": [ [ "Assign", "A0 := 2" ] ] + }, + "siblings": [ + { "goal_text": "test 2 X0", "goal_id": 6 }, + { "goal_text": "typecheck X0", "goal_id": 7 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 3, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 6, + "current_goal_text": "test 2 X0", + "current_goal_predicate": "test", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(test 2 (let (lam (c0 \\ c0)) A0 (c0 \\ (app c0 (global []))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 184, + "column": 0, + "character": 4948 + } + ] + } + ], + "events": [ + [ + "Assign", + "X0 := let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])" + ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(test 2 (let (lam (c0 \\ c0)) A0 (c0 \\ (app c0 (global []))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 184, + "column": 0, + "character": 4948 + } + ] + } + ], + "step_id": 3, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 4, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 7, + "current_goal_text": "typecheck (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))", + "current_goal_predicate": "typecheck", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])" + ] + ] + }, + "siblings": [ + { + "goal_text": "print Checking: (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))", + "goal_id": 8 + }, + { "goal_text": "theta []", "goal_id": 9 }, + { + "goal_text": "of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2", + "goal_id": 10 + }, + { "goal_text": "!", "goal_id": 11 }, + { + "goal_text": "print (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) : X2", + "goal_id": 12 + }, + { "goal_text": "print", "goal_id": 13 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 5, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 8, + "current_goal_text": "print Checking: (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))", + "current_goal_predicate": "print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "step_id": 5, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 6, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 9, + "current_goal_text": "theta []", + "current_goal_predicate": "theta", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(theta A0) :- (new_constraint (theta A0) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 76, + "column": 0, + "character": 1782 + } + ] + } + ], + "events": [ [ "Assign", "A0 := []" ] ] + }, + "siblings": [ + { "goal_text": "new_constraint (theta []) [_]", "goal_id": 14 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(theta A0) :- (new_constraint (theta A0) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 76, + "column": 0, + "character": 1782 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 7, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 14, + "current_goal_text": "new_constraint (theta []) [_]", + "current_goal_predicate": "new_constraint", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(new_constraint A0 A1) :- (declare_constraint A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 158, + "column": 0, + "character": 4374 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := theta []" ], [ "Assign", "A1 := [_]" ] + ] + }, + "siblings": [ + { + "goal_text": "declare_constraint (theta []) [_]", + "goal_id": 15 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(new_constraint A0 A1) :- (declare_constraint A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 158, + "column": 0, + "character": 4374 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(theta A0) :- (new_constraint (theta A0) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 76, + "column": 0, + "character": 1782 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 8, + "runtime_id": 0, + "step": [ + "Suspend", + { + "suspend_goal_id": 15, + "suspend_goal_text": "declare_constraint (theta []) [_]", + "suspend_sibling": { "goal_text": "theta []", "goal_id": 16 }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 8, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(new_constraint A0 A1) :- (declare_constraint A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 158, + "column": 0, + "character": 4374 + } + ] + } + ], + "step_id": 7, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(theta A0) :- (new_constraint (theta A0) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 76, + "column": 0, + "character": 1782 + } + ] + } + ], + "step_id": 6, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 9, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 10, + "current_goal_text": "of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2", + "current_goal_predicate": "of", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := lam c0 \\ c0" ], + [ "Assign", "A2 := X1" ], + [ "Assign", "A3 := c0 \\\napp c0 (global [])" ], + [ "Assign", "X2 := mono X3" ] + ] + }, + "siblings": [ + { "goal_text": "of (lam c0 \\ c0) (mono X4)", "goal_id": 17 }, + { "goal_text": "gammabar (mono X4) X1", "goal_id": 18 }, + { + "goal_text": "pi c0 \\ of c0 X1 => of (app c0 (global [])) (mono X3)", + "goal_id": 19 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 10, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 17, + "current_goal_text": "of (lam c0 \\ c0) (mono X4)", + "current_goal_predicate": "of", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of (lam A0) (mono (A2 ===> A1))) :- (pi c0 \\\n (of c0 (mono A2) =>\n of (A0 c0) (mono A1))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 8, + "column": 0, + "character": 100 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0 \\\nc0" ], + [ "Assign", "X4 := X5 ===> X6" ] + ] + }, + "siblings": [ + { + "goal_text": "pi c0 \\ of c0 (mono X5) => of c0 (mono X6)", + "goal_id": 20 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (lam A0) (mono (A2 ===> A1))) :- (pi c0 \\\n (of c0 (mono A2) =>\n of (A0 c0) (mono A1))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 8, + "column": 0, + "character": 100 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 11, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 20, + "current_goal_text": "pi c0 \\ of c0 (mono X5) => of c0 (mono X6)", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "of c0 (mono X5) => of c0 (mono X6)", + "goal_id": 21 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (lam A0) (mono (A2 ===> A1))) :- (pi c0 \\\n (of c0 (mono A2) =>\n of (A0 c0) (mono A1))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 8, + "column": 0, + "character": 100 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 12, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 21, + "current_goal_text": "of c0 (mono X5) => of c0 (mono X6)", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ { "goal_text": "of c0 (mono X6)", "goal_id": 22 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "(of c0 (mono X5)) :- ." ] + } + ], + "step_id": 12, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (lam A0) (mono (A2 ===> A1))) :- (pi c0 \\\n (of c0 (mono A2) =>\n of (A0 c0) (mono A1))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 8, + "column": 0, + "character": 100 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 13, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 22, + "current_goal_text": "of c0 (mono X6)", + "current_goal_predicate": "of", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (mono X5)) :- .", + "rule_loc": [ "Context", 12 ] + } + ], + "events": [ [ "Assign", "X6 := X5" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (mono X5)) :- .", + "rule_loc": [ "Context", 12 ] + } + ], + "step_id": 13, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ "(of c0 (mono X5)) :- ." ] + } + ], + "step_id": 12, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 11, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (lam A0) (mono (A2 ===> A1))) :- (pi c0 \\\n (of c0 (mono A2) =>\n of (A0 c0) (mono A1))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 8, + "column": 0, + "character": 100 + } + ] + } + ], + "step_id": 10, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 14, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 18, + "current_goal_text": "gammabar (mono (X5 ===> X5)) X1", + "current_goal_predicate": "gammabar", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(gammabar (mono A0) A1) :- (new_constraint (gammabar (mono A0) A1) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 81, + "column": 0, + "character": 1900 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X5 ===> X5" ], [ "Assign", "A1 := X1" ] + ] + }, + "siblings": [ + { + "goal_text": "new_constraint (gammabar (mono (X5 ===> X5)) X1) [_]", + "goal_id": 23 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(gammabar (mono A0) A1) :- (new_constraint (gammabar (mono A0) A1) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 81, + "column": 0, + "character": 1900 + } + ] + } + ], + "step_id": 14, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 15, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 23, + "current_goal_text": "new_constraint (gammabar (mono (X5 ===> X5)) X1) [_]", + "current_goal_predicate": "new_constraint", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(new_constraint A0 A1) :- (declare_constraint A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 158, + "column": 0, + "character": 4374 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := gammabar (mono (X5 ===> X5)) X1" ], + [ "Assign", "A1 := [_]" ] + ] + }, + "siblings": [ + { + "goal_text": "declare_constraint (gammabar (mono (X5 ===> X5)) X1) [_]", + "goal_id": 24 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(new_constraint A0 A1) :- (declare_constraint A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 158, + "column": 0, + "character": 4374 + } + ] + } + ], + "step_id": 15, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(gammabar (mono A0) A1) :- (new_constraint (gammabar (mono A0) A1) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 81, + "column": 0, + "character": 1900 + } + ] + } + ], + "step_id": 14, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 16, + "runtime_id": 0, + "step": [ + "Suspend", + { + "suspend_goal_id": 24, + "suspend_goal_text": "declare_constraint (gammabar (mono (X5 ===> X5)) X1) [_]", + "suspend_sibling": { + "goal_text": "gammabar (mono (X5 ===> X5)) X1", + "goal_id": 25 + }, + "suspend_stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "suspend", "kind": "Logic", "payload": [] } + ], + "step_id": 16, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(new_constraint A0 A1) :- (declare_constraint A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 158, + "column": 0, + "character": 4374 + } + ] + } + ], + "step_id": 15, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(gammabar (mono A0) A1) :- (new_constraint (gammabar (mono A0) A1) [_]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 81, + "column": 0, + "character": 1900 + } + ] + } + ], + "step_id": 14, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 17, + "runtime_id": 0, + "step": [ + "CHR", + { + "chr_failed_attempts": [], + "chr_successful_attempts": [ + { + "chr_attempt": { + "chr_text": "(theta A0) \\ (A1 ?- gammabar A2 A3) | (generalize A0 A1 A2 A4) <=> (A3 = A4)", + "chr_loc": { + "filename": "tests/sources/trace-w/main.elpi", + "line": 85, + "column": 36, + "character": 2027 + }, + "chr_condition_cards": [ + { + "step_id": 0, + "runtime_id": 1, + "step": [ + "Init", + { + "goal_text": "generalize [] [] (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) X3", + "goal_id": 26 + } + ], + "color": "Grey" + }, + { + "step_id": 1, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 26, + "current_goal_text": "generalize [] [] (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) X3", + "current_goal_predicate": "generalize", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "events": [ + [ "Assign", "A5 := []" ], + [ "Assign", "A2 := []" ], + [ + "Assign", + "A0 := uvar frozen--452 [] ===> uvar frozen--452 []" + ], + [ "Assign", "A6 := X3" ] + ] + }, + "siblings": [ + { + "goal_text": "free-ty (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) [] X4", + "goal_id": 27 + }, + { + "goal_text": "free-gamma [] [] X5", + "goal_id": 28 + }, + { + "goal_text": "filter X4 (c0 \\ not (mem X5 c0)) X6", + "goal_id": 29 + }, + { + "goal_text": "bind X6 [] (uvar frozen--452 [] ===> uvar frozen--452 []) X3", + "goal_id": 30 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 2, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 27, + "current_goal_text": "free-ty (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) [] X4", + "current_goal_predicate": "free-ty", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := uvar frozen--452 [] ===> uvar frozen--452 []" + ], + [ "Assign", "A1 := []" ], + [ "Assign", "A2 := X4" ] + ] + }, + "siblings": [ + { + "goal_text": "free (uvar frozen--452 [] ===> uvar frozen--452 []) [] X4", + "goal_id": 31 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 3, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 31, + "current_goal_text": "free (uvar frozen--452 [] ===> uvar frozen--452 []) [] X4", + "current_goal_predicate": "free", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := uvar frozen--452 []" ], + [ "Assign", "A3 := uvar frozen--452 []" ], + [ "Assign", "A1 := []" ], + [ "Assign", "A4 := X4" ] + ] + }, + "siblings": [ + { + "goal_text": "free (uvar frozen--452 []) [] X7", + "goal_id": 32 + }, + { + "goal_text": "free (uvar frozen--452 []) X7 X4", + "goal_id": 33 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 4, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 32, + "current_goal_text": "free (uvar frozen--452 []) [] X7", + "current_goal_predicate": "free", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "events": [ + [ "Assign", "A1 := uvar frozen--452 []" ], + [ "Assign", "A0 := []" ], + [ "Assign", "A2 := X7" ] + ] + }, + "siblings": [ + { + "goal_text": "if (mem [] (uvar frozen--452 [])) (X7 = []) (X7 = [uvar frozen--452 []])", + "goal_id": 34 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 5, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 34, + "current_goal_text": "if (mem [] (uvar frozen--452 [])) (X7 = []) (X7 = [uvar frozen--452 []])", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := mem [] (uvar frozen--452 [])" + ], + [ "Assign", "A1 := X7 = []" ] + ] + }, + "siblings": [ + { + "goal_text": "mem [] (uvar frozen--452 [])", + "goal_id": 35 + }, + { "goal_text": "!", "goal_id": 36 }, + { "goal_text": "X7 = []", "goal_id": 37 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 8 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 5, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 6, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 35, + "current_goal_text": "mem [] (uvar frozen--452 [])", + "current_goal_predicate": "mem", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := frozen--452" ] + ] + }, + "siblings": [ + { + "goal_text": "mem! [] (uvar frozen--452 X8)", + "goal_id": 38 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 6, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 5, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 7, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 38, + "current_goal_text": "mem! [] (uvar frozen--452 X8)", + "current_goal_predicate": "mem!", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 6, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 5, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 8, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 34, + "current_goal_text": "if (mem [] (uvar frozen--452 [])) (X7 = []) (X7 = [uvar frozen--452 []])", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + ], + "events": [ + [ + "Assign", "A0 := X7 = [uvar frozen--452 []]" + ] + ] + }, + "siblings": [ + { + "goal_text": "X7 = [uvar frozen--452 []]", + "goal_id": 39 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + ], + "step_id": 8, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 9, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 39, + "current_goal_text": "X7 = [uvar frozen--452 []]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } + ], + "events": [ + [ "Assign", "X7 := [uvar frozen--452 []]" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 9, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + ], + "step_id": 8, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 4, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 10, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 33, + "current_goal_text": "free (uvar frozen--452 []) [uvar frozen--452 []] X4", + "current_goal_predicate": "free", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "events": [ + [ "Assign", "A1 := uvar frozen--452 []" ], + [ "Assign", "A0 := [uvar frozen--452 []]" ], + [ "Assign", "A2 := X4" ] + ] + }, + "siblings": [ + { + "goal_text": "if (mem [uvar frozen--452 []] (uvar frozen--452 [])) \n (X4 = [uvar frozen--452 []]) \n (X4 = [uvar frozen--452 [], uvar frozen--452 []])", + "goal_id": 40 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 10, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 11, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 40, + "current_goal_text": "if (mem [uvar frozen--452 []] (uvar frozen--452 [])) \n (X4 = [uvar frozen--452 []]) \n (X4 = [uvar frozen--452 [], uvar frozen--452 []])", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := mem [uvar frozen--452 []] (uvar frozen--452 [])" + ], + [ + "Assign", "A1 := X4 = [uvar frozen--452 []]" + ] + ] + }, + "siblings": [ + { + "goal_text": "mem [uvar frozen--452 []] (uvar frozen--452 [])", + "goal_id": 41 + }, + { "goal_text": "!", "goal_id": 42 }, + { + "goal_text": "X4 = [uvar frozen--452 []]", + "goal_id": 43 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 11, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 10, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 12, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 41, + "current_goal_text": "mem [uvar frozen--452 []] (uvar frozen--452 [])", + "current_goal_predicate": "mem", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := [uvar frozen--452 []]" ], + [ "Assign", "A1 := frozen--452" ] + ] + }, + "siblings": [ + { + "goal_text": "mem! [uvar frozen--452 []] (uvar frozen--452 X9)", + "goal_id": 44 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 12, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 11, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 10, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 13, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 44, + "current_goal_text": "mem! [uvar frozen--452 []] (uvar frozen--452 X9)", + "current_goal_predicate": "mem!", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(mem! [A0 | _] A0) :- !.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 143, + "column": 0, + "character": 3903 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := uvar frozen--452 []" ], + [ "Assign", "X9 := []" ] + ] + }, + "siblings": [ { "goal_text": "!", "goal_id": 45 } ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem! [A0 | _] A0) :- !.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 143, + "column": 0, + "character": 3903 + } + ] + } + ], + "step_id": 13, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 12, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 11, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 10, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 14, + "runtime_id": 1, + "step": [ + "Cut", + { + "cut_goal_id": 45, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "mem! [uvar frozen--452 []] (uvar frozen--452 X9)", + "goal_id": 44 + }, + "cut_branch": { + "rule_text": "(mem! [_ | A0] A1) :- (mem! A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 144, + "column": 0, + "character": 3922 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 15, + "runtime_id": 1, + "step": [ + "Cut", + { + "cut_goal_id": 42, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "if (mem [uvar frozen--452 []] (uvar frozen--452 [])) \n (X4 = [uvar frozen--452 []]) \n (X4 = [uvar frozen--452 [], uvar frozen--452 []])", + "goal_id": 40 + }, + "cut_branch": { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 16, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 43, + "current_goal_text": "X4 = [uvar frozen--452 []]", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } + ], + "events": [ + [ "Assign", "X4 := [uvar frozen--452 []]" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 16, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 11, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0])).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 118, + "column": 0, + "character": 3074 + } + ] + } + ], + "step_id": 10, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 117, + "column": 0, + "character": 3023 + } + ] + } + ], + "step_id": 3, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(free-ty (mono A0) A1 A2) :- (free A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 105, + "column": 0, + "character": 2637 + } + ] + } + ], + "step_id": 2, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 17, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 28, + "current_goal_text": "free-gamma [] [] X5", + "current_goal_predicate": "free-gamma", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(free-gamma [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 109, + "column": 0, + "character": 2781 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "X5 := []" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(free-gamma [] A0 A0) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 109, + "column": 0, + "character": 2781 + } + ] + } + ], + "step_id": 17, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 18, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 29, + "current_goal_text": "filter [uvar frozen--452 []] (c0 \\ not (mem [] c0)) X6", + "current_goal_predicate": "filter", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := uvar frozen--452 []" ], + [ "Assign", "A2 := []" ], + [ "Assign", "A1 := c0 \\\nnot (mem [] c0)" ], + [ + "Assign", "X6 := [uvar frozen--452 [] | X10]" + ] + ] + }, + "siblings": [ + { + "goal_text": "not (mem [] (uvar frozen--452 []))", + "goal_id": 46 + }, + { "goal_text": "!", "goal_id": 47 }, + { + "goal_text": "filter [] (c0 \\ not (mem [] c0)) X10", + "goal_id": 48 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "step_id": 18, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 19, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 46, + "current_goal_text": "not (mem [] (uvar frozen--452 []))", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := mem [] (uvar frozen--452 [])" + ] + ] + }, + "siblings": [ + { + "goal_text": "mem [] (uvar frozen--452 [])", + "goal_id": 49 + }, + { "goal_text": "!", "goal_id": 50 }, + { "goal_text": "fail", "goal_id": 51 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 22 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "step_id": 19, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "step_id": 18, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 20, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 49, + "current_goal_text": "mem [] (uvar frozen--452 [])", + "current_goal_predicate": "mem", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := frozen--452" ] + ] + }, + "siblings": [ + { + "goal_text": "mem! [] (uvar frozen--452 X11)", + "goal_id": 52 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 20, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "step_id": 19, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "step_id": 18, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 21, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 52, + "current_goal_text": "mem! [] (uvar frozen--452 X11)", + "current_goal_predicate": "mem!", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 20, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(not A0) :- A0, !, fail.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 69, + "column": 0, + "character": 1189 + } + ] + } + ], + "step_id": 19, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "step_id": 18, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 22, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 46, + "current_goal_text": "not (mem [] (uvar frozen--452 []))", + "current_goal_predicate": "not", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 71, + "column": 0, + "character": 1211 + } + ] + } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(not _) :- .", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 71, + "column": 0, + "character": 1211 + } + ] + } + ], + "step_id": 22, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "step_id": 18, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 23, + "runtime_id": 1, + "step": [ + "Cut", + { + "cut_goal_id": 47, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "filter X4 (c0 \\ not (mem X5 c0)) X6", + "goal_id": 29 + }, + "cut_branch": { + "rule_text": "(filter [_ | A0] A1 A2) :- (filter A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 140, + "column": 0, + "character": 3839 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 24, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 48, + "current_goal_text": "filter [] (c0 \\ not (mem [] c0)) X10", + "current_goal_predicate": "filter", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(filter [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 138, + "column": 0, + "character": 3773 + } + ] + } + ], + "events": [ [ "Assign", "X10 := []" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [] _ []) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 138, + "column": 0, + "character": 3773 + } + ] + } + ], + "step_id": 24, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 139, + "column": 0, + "character": 3789 + } + ] + } + ], + "step_id": 18, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 25, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 30, + "current_goal_text": "bind [uvar frozen--452 []] [] (uvar frozen--452 [] ===> uvar frozen--452 []) \n X3", + "current_goal_predicate": "bind", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "events": [ + [ "Assign", "A1 := uvar frozen--452 []" ], + [ "Assign", "A3 := []" ], + [ "Assign", "A0 := []" ], + [ + "Assign", + "A4 := uvar frozen--452 [] ===> uvar frozen--452 []" + ], + [ "Assign", "X3 := all X12 c0 \\ X13 c0" ] + ] + }, + "siblings": [ + { + "goal_text": "if (mem [] (uvar frozen--452 [])) (X12 = eqt) (X12 = any)", + "goal_id": 53 + }, + { + "goal_text": "pi c0 \\\n copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)", + "goal_id": 54 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 26, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 53, + "current_goal_text": "if (mem [] (uvar frozen--452 [])) (X12 = eqt) (X12 = any)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := mem [] (uvar frozen--452 [])" + ], + [ "Assign", "A1 := X12 = eqt" ] + ] + }, + "siblings": [ + { + "goal_text": "mem [] (uvar frozen--452 [])", + "goal_id": 55 + }, + { "goal_text": "!", "goal_id": 56 }, + { "goal_text": "X12 = eqt", "goal_id": 57 } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [ 29 ], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 26, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowGreen" + }, + { + "step_id": 27, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 55, + "current_goal_text": "mem [] (uvar frozen--452 [])", + "current_goal_predicate": "mem", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := []" ], + [ "Assign", "A1 := frozen--452" ] + ] + }, + "siblings": [ + { + "goal_text": "mem! [] (uvar frozen--452 X14)", + "goal_id": 58 + } + ], + "siblings_aggregated_outcome": "Fail" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 27, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 26, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "YellowRed" + }, + { + "step_id": 28, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 58, + "current_goal_text": "mem! [] (uvar frozen--452 X14)", + "current_goal_predicate": "mem!", + "failed_attempts": [], + "successful_attempts": [], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 148, + "column": 0, + "character": 4032 + } + ] + } + ], + "step_id": 27, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if A0 A1 _) :- A0, !, A1.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 536, + "column": 0, + "character": 13939 + } + ] + } + ], + "step_id": 26, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Red" + }, + { + "step_id": 29, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 53, + "current_goal_text": "if (mem [] (uvar frozen--452 [])) (X12 = eqt) (X12 = any)", + "current_goal_predicate": "if", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + ], + "events": [ [ "Assign", "A0 := X12 = any" ] ] + }, + "siblings": [ + { "goal_text": "X12 = any", "goal_id": 59 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + ], + "step_id": 29, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 30, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 59, + "current_goal_text": "X12 = any", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } + ], + "events": [ [ "Assign", "X12 := any" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 30, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(if _ _ A0) :- A0.", + "rule_loc": [ + "File", + { + "filename": "builtin.elpi", + "line": 537, + "column": 0, + "character": 13960 + } + ] + } + ], + "step_id": 29, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 31, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 54, + "current_goal_text": "pi c0 \\\n copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)", + "goal_id": 60 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 32, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 60, + "current_goal_text": "copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [] + } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)", + "goal_id": 61 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(copy (uvar frozen--452 []) c0) :- ." + ] + } + ], + "step_id": 32, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 33, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 61, + "current_goal_text": "bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)", + "current_goal_predicate": "bind", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(bind [] _ A0 (mono A1)) :- (copy A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 122, + "column": 0, + "character": 3261 + } + ] + } + ], + "events": [ + [ + "Assign", + "A0 := uvar frozen--452 [] ===> uvar frozen--452 []" + ], + [ "Assign", "X13 := c0 \\\nX15 c0" ], + [ "Assign", "X15^1 := mono X16^1" ] + ] + }, + "siblings": [ + { + "goal_text": "copy (uvar frozen--452 [] ===> uvar frozen--452 []) X16^1", + "goal_id": 62 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [] _ A0 (mono A1)) :- (copy A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 122, + "column": 0, + "character": 3261 + } + ] + } + ], + "step_id": 33, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(copy (uvar frozen--452 []) c0) :- ." + ] + } + ], + "step_id": 32, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 34, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 62, + "current_goal_text": "copy (uvar frozen--452 [] ===> uvar frozen--452 []) X16^1", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (A0 ===> A2) (A1 ===> A3)) :- (copy A0 A1), (copy A2 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 130, + "column": 0, + "character": 3475 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := uvar frozen--452 []" ], + [ "Assign", "A2 := uvar frozen--452 []" ], + [ "Assign", "X16^1 := X17^1 ===> X18^1" ] + ] + }, + "siblings": [ + { + "goal_text": "copy (uvar frozen--452 []) X17^1", + "goal_id": 63 + }, + { + "goal_text": "copy (uvar frozen--452 []) X18^1", + "goal_id": 64 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (A0 ===> A2) (A1 ===> A3)) :- (copy A0 A1), (copy A2 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 130, + "column": 0, + "character": 3475 + } + ] + } + ], + "step_id": 34, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [] _ A0 (mono A1)) :- (copy A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 122, + "column": 0, + "character": 3261 + } + ] + } + ], + "step_id": 33, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(copy (uvar frozen--452 []) c0) :- ." + ] + } + ], + "step_id": 32, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 35, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 63, + "current_goal_text": "copy (uvar frozen--452 []) X17^1", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (uvar frozen--452 []) c0) :- .", + "rule_loc": [ "Context", 32 ] + } + ], + "events": [ [ "Assign", "X17^1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (uvar frozen--452 []) c0) :- .", + "rule_loc": [ "Context", 32 ] + } + ], + "step_id": 35, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (A0 ===> A2) (A1 ===> A3)) :- (copy A0 A1), (copy A2 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 130, + "column": 0, + "character": 3475 + } + ] + } + ], + "step_id": 34, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [] _ A0 (mono A1)) :- (copy A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 122, + "column": 0, + "character": 3261 + } + ] + } + ], + "step_id": 33, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(copy (uvar frozen--452 []) c0) :- ." + ] + } + ], + "step_id": 32, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 36, + "runtime_id": 1, + "step": [ + "Inference", + { + "current_goal_id": 64, + "current_goal_text": "copy (uvar frozen--452 []) X18^1", + "current_goal_predicate": "copy", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(copy (uvar frozen--452 []) c0) :- .", + "rule_loc": [ "Context", 32 ] + } + ], + "events": [ [ "Assign", "X18^1 := c0" ] ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (uvar frozen--452 []) c0) :- .", + "rule_loc": [ "Context", 32 ] + } + ], + "step_id": 36, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(copy (A0 ===> A2) (A1 ===> A3)) :- (copy A0 A1), (copy A2 A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 130, + "column": 0, + "character": 3475 + } + ] + } + ], + "step_id": 34, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [] _ A0 (mono A1)) :- (copy A0 A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 122, + "column": 0, + "character": 3261 + } + ] + } + ], + "step_id": 33, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(copy (uvar frozen--452 []) c0) :- ." + ] + } + ], + "step_id": 32, + "runtime_id": 1 + }, + { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 31, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 123, + "column": 0, + "character": 3297 + } + ] + } + ], + "step_id": 25, + "runtime_id": 1 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 97, + "column": 0, + "character": 2346 + } + ] + } + ], + "step_id": 1, + "runtime_id": 1 + } + ] + } + ], + "color": "Green" + } + ] + }, + "chr_removed_goals": [ 25 ], + "chr_new_goals": [ + { + "goal_text": "_ => X1 = all any c0 \\ mono (c0 ===> c0)", + "goal_id": 65 + } + ] + } + ], + "chr_store_before": [ + { + "goal_text": " gammabar (mono (X5 ===> X5)) X1 /* suspended on X7 */", + "goal_id": 25 + }, + { "goal_text": " theta [] /* suspended on X7 */", "goal_id": 16 } + ], + "chr_store_after": [ + { "goal_text": " theta [] /* suspended on X7 */", "goal_id": 16 } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 18, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 65, + "current_goal_text": "_ => X1 = all any c0 \\ mono (c0 ===> c0)", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "X1 = all any c0 \\ mono (c0 ===> c0)", + "goal_id": 66 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 18, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 19, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 66, + "current_goal_text": "X1 = all any c0 \\ mono (c0 ===> c0)", + "current_goal_predicate": "=", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "eq", "kind": "Logic", "payload": [] } + ], + "events": [ + [ "Assign", "X1 := all any c0 \\ mono (c0 ===> c0)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + ], + "step_id": 19, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "step_id": 18, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 20, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 19, + "current_goal_text": "pi c0 \\\n of c0 (all any c1 \\ mono (c1 ===> c1)) => of (app c0 (global [])) (mono X3)", + "current_goal_predicate": "pi", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "pi", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "of c0 (all any c1 \\ mono (c1 ===> c1)) => of (app c0 (global [])) (mono X3)", + "goal_id": 67 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 21, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 67, + "current_goal_text": "of c0 (all any c1 \\ mono (c1 ===> c1)) => of (app c0 (global [])) (mono X3)", + "current_goal_predicate": "=>", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "implication", "kind": "Logic", "payload": [] } + ], + "events": [] + }, + "siblings": [ + { + "goal_text": "of (app c0 (global [])) (mono X3)", + "goal_id": 68 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 22, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 68, + "current_goal_text": "of (app c0 (global [])) (mono X3)", + "current_goal_predicate": "of", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], + [ "Assign", "A3 := global []" ], + [ "Assign", "A2 := X3" ] + ] + }, + "siblings": [ + { "goal_text": "of c0 (mono (X8^1 ===> X3))", "goal_id": 69 }, + { "goal_text": "of (global []) (mono X8^1)", "goal_id": 70 } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 23, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 69, + "current_goal_text": "of c0 (mono (X8^1 ===> X3))", + "current_goal_predicate": "of", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "events": [ + [ + "Fail", + "unify mono (X8^1 ===> X3) with all any c1 \\ mono (c1 ===> c1)" + ] + ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := c0" ], [ "Assign", "A3 := X8^1 ===> X3" ] + ] + }, + "siblings": [ + { "goal_text": "of c0 (all X9^1 X10^1)", "goal_id": 71 }, + { + "goal_text": "specialize (all X9^1 X10^1) (X8^1 ===> X3)", + "goal_id": 72 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "step_id": 23, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 24, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 71, + "current_goal_text": "of c0 (all X9^1 X10^1)", + "current_goal_predicate": "of", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "events": [ + [ "Assign", "X9^1 := any" ], + [ "Assign", "X10^1 := c1 \\\nmono (c1 ===> c1)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "step_id": 24, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "step_id": 23, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 25, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 72, + "current_goal_text": "specialize (all any c1 \\ mono (c1 ===> c1)) (X8^1 ===> X3)", + "current_goal_predicate": "specialize", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (all any A1) A2) :- (specialize (A1 A0) A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 57, + "column": 0, + "character": 1282 + } + ] + } + ], + "events": [ + [ "Assign", "A1 := c1 \\\nmono (c1 ===> c1)" ], + [ "Assign", "A2 := X8^1 ===> X3" ] + ] + }, + "siblings": [ + { + "goal_text": "specialize (mono (X11^1 ===> X11^1)) (X8^1 ===> X3)", + "goal_id": 73 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (all any A1) A2) :- (specialize (A1 A0) A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 57, + "column": 0, + "character": 1282 + } + ] + } + ], + "step_id": 25, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "step_id": 23, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 26, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 73, + "current_goal_text": "specialize (mono (X11^1 ===> X11^1)) (X8^1 ===> X3)", + "current_goal_predicate": "specialize", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (mono A0) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 56, + "column": 0, + "character": 1259 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := X11^1 ===> X11^1" ], + [ "Assign", "X11 c0 := X8 c0" ], + [ "Assign", "X8 c0 := X3" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (mono A0) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 56, + "column": 0, + "character": 1259 + } + ] + } + ], + "step_id": 26, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (all any A1) A2) :- (specialize (A1 A0) A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 57, + "column": 0, + "character": 1282 + } + ] + } + ], + "step_id": 25, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", + "rule_loc": [ "Context", 21 ] + } + ], + "step_id": 23, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 27, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 70, + "current_goal_text": "of (global []) (mono X3)", + "current_goal_predicate": "of", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global 1" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 2) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 39, + "column": 0, + "character": 689 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global 2" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 3) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 40, + "column": 0, + "character": 722 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global 3" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global plus) (mono (int ===> int ===> int))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 41, + "column": 0, + "character": 755 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global plus" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global []) (all any (c0 \\ (mono (list c0))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 43, + "column": 0, + "character": 809 + } + ] + } + ], + "events": [ + [ "Fail", "unify mono X3 with all any c0 \\ mono (list c0)" ] + ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global ::) (all any (c0 \\ (mono (c0 ===> list c0 ===> list c0))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 44, + "column": 0, + "character": 857 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global ::" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global size) (all any (c0 \\ (mono (list c0 ===> int))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 45, + "column": 0, + "character": 924 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global size" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global undup) (all eqt (c0 \\ (mono (list c0 ===> list c0))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 46, + "column": 0, + "character": 981 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global undup" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global ,) \n (all any (c0 \\ (all any (c1 \\ (mono (c0 ===> c1 ===> pair c0 c1))))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 48, + "column": 0, + "character": 1042 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global ," ] ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := global []" ], [ "Assign", "A3 := X3" ] + ] + }, + "siblings": [ + { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + { + "goal_text": "specialize (all X12^1 X13^1) X3", + "goal_id": 75 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "step_id": 27, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 28, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 74, + "current_goal_text": "of (global []) (all X12^1 X13^1)", + "current_goal_predicate": "of", + "failed_attempts": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global 1" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 2) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 39, + "column": 0, + "character": 689 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global 2" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 3) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 40, + "column": 0, + "character": 722 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global 3" ] ] + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global plus) (mono (int ===> int ===> int))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 41, + "column": 0, + "character": 755 + } + ] + } + ], + "events": [ [ "Fail", "match global [] with global plus" ] ] + } + ], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(of (global []) (all any (c0 \\ (mono (list c0))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 43, + "column": 0, + "character": 809 + } + ] + } + ], + "events": [ + [ "Assign", "X12^1 := any" ], + [ "Assign", "X13^1 := c1 \\\nmono (list c1)" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "step_id": 28, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "step_id": 27, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 29, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 75, + "current_goal_text": "specialize (all any c1 \\ mono (list c1)) X3", + "current_goal_predicate": "specialize", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (all any A1) A2) :- (specialize (A1 A0) A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 57, + "column": 0, + "character": 1282 + } + ] + } + ], + "events": [ + [ "Assign", "A1 := c1 \\\nmono (list c1)" ], + [ "Assign", "A2 := X3" ] + ] + }, + "siblings": [ + { + "goal_text": "specialize (mono (list X14^1)) X3", + "goal_id": 76 + } + ], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (all any A1) A2) :- (specialize (A1 A0) A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 57, + "column": 0, + "character": 1282 + } + ] + } + ], + "step_id": 29, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "step_id": 27, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 30, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 76, + "current_goal_text": "specialize (mono (list X14^1)) X3", + "current_goal_predicate": "specialize", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (mono A0) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 56, + "column": 0, + "character": 1259 + } + ] + } + ], + "events": [ + [ "Assign", "A0 := list X14^1" ], + [ "Assign", "X14^1 := X15 c0" ], + [ "Assign", "0 X15 c0 := c0 \\\n.X16" ], + [ "Assign", "X3 := list X16" ] + ] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (mono A0) A0) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 56, + "column": 0, + "character": 1259 + } + ] + } + ], + "step_id": 30, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(specialize (all any A1) A2) :- (specialize (A1 A0) A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 57, + "column": 0, + "character": 1282 + } + ] + } + ], + "step_id": 29, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (global 1) (mono int)) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 38, + "column": 0, + "character": 656 + } + ] + } + ], + "step_id": 27, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1)).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 4, + "column": 0, + "character": 31 + } + ] + } + ], + "step_id": 22, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", + { + "name": "implication", + "kind": "Logic", + "payload": [ + "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ." + ] + } + ], + "step_id": 21, + "runtime_id": 0 + }, + { + "rule": [ + "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + ], + "step_id": 20, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4))).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 11, + "column": 0, + "character": 177 + } + ] + } + ], + "step_id": 9, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 31, + "runtime_id": 0, + "step": [ + "Cut", + { + "cut_goal_id": 11, + "cut_victims": [ + { + "cut_branch_for_goal": { + "goal_text": "specialize (all X12^1 X13^1) X3", + "goal_id": 75 + }, + "cut_branch": { + "rule_text": "(specialize (all eqt A1) A2) :- (specialize (A1 A0) A2), (eqbar A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 58, + "column": 0, + "character": 1335 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of (global ::) (all any (c0 \\ (mono (c0 ===> list c0 ===> list c0))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 44, + "column": 0, + "character": 857 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of (global size) (all any (c0 \\ (mono (list c0 ===> int))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 45, + "column": 0, + "character": 924 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of (global undup) (all eqt (c0 \\ (mono (list c0 ===> list c0))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 46, + "column": 0, + "character": 981 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of (global ,) \n (all any (c0 \\ (all any (c1 \\ (mono (c0 ===> c1 ===> pair c0 c1))))))) :- .", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 48, + "column": 0, + "character": 1042 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (all X12^1 X13^1)", + "goal_id": 74 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (mono X8^1)", + "goal_id": 70 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (global []) (mono X8^1)", + "goal_id": 70 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "specialize (all X9^1 X10^1) (X8^1 ===> X3)", + "goal_id": 72 + }, + "cut_branch": { + "rule_text": "(specialize (all eqt A1) A2) :- (specialize (A1 A0) A2), (eqbar A0).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 58, + "column": 0, + "character": 1335 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (all X9^1 X10^1)", + "goal_id": 71 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (all X9^1 X10^1)", + "goal_id": 71 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (all X9^1 X10^1)", + "goal_id": 71 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (mono (X8^1 ===> X3))", + "goal_id": 69 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (mono (X8^1 ===> X3))", + "goal_id": 69 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (app c0 (global [])) (mono X3)", + "goal_id": 68 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (app c0 (global [])) (mono X3)", + "goal_id": 68 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (app c0 (global [])) (mono X3)", + "goal_id": 68 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (mono X6)", + "goal_id": 22 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (mono X6)", + "goal_id": 22 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of c0 (mono X6)", + "goal_id": 22 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (lam c0 \\ c0) (mono X4)", + "goal_id": 17 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (lam c0 \\ c0) (mono X4)", + "goal_id": 17 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (lam c0 \\ c0) (mono X4)", + "goal_id": 17 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2", + "goal_id": 10 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/hm.elpi", + "line": 21, + "column": 0, + "character": 368 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2", + "goal_id": 10 + }, + "cut_branch": { + "rule_text": "(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 163, + "column": 0, + "character": 4507 + } + ] + } + }, + { + "cut_branch_for_goal": { + "goal_text": "of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2", + "goal_id": 10 + }, + "cut_branch": { + "rule_text": "(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 164, + "column": 0, + "character": 4578 + } + ] + } + } + ] + } + ], + "color": "Grey" + }, + { + "step_id": 32, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 12, + "current_goal_text": "print\n (let (lam c0 \\ c0) (all any c0 \\ mono (c0 ===> c0)) c0 \\ app c0 (global [])) \n : (mono (list X16))", + "current_goal_predicate": "print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "step_id": 32, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + }, + { + "step_id": 33, + "runtime_id": 0, + "step": [ + "Inference", + { + "current_goal_id": 13, + "current_goal_text": "print", + "current_goal_predicate": "print", + "failed_attempts": [], + "successful_attempts": [ + { + "attempt": { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "events": [] + }, + "siblings": [], + "siblings_aggregated_outcome": "Success" + } + ], + "more_successful_attempts": [], + "stack": [ + { + "rule": [ + "BuiltinRule", + { "name": "print", "kind": "FFI", "payload": [] } + ], + "step_id": 33, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print.", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 167, + "column": 0, + "character": 4665 + } + ] + } + ], + "step_id": 4, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "(tests [A0]) :- (test A0 A1), (typecheck A1).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 175, + "column": 0, + "character": 4785 + } + ] + } + ], + "step_id": 2, + "runtime_id": 0 + }, + { + "rule": [ + "UserRule", + { + "rule_text": "main :- (tests [2]).", + "rule_loc": [ + "File", + { + "filename": "tests/sources/trace-w/main.elpi", + "line": 177, + "column": 0, + "character": 4824 + } + ] + } + ], + "step_id": 1, + "runtime_id": 0 + } + ] + } + ], + "color": "Green" + } +] diff --git a/src/tests/sources/trace_w.json b/src/tests/sources/trace_w.json new file mode 100644 index 0000000..e225fa1 --- /dev/null +++ b/src/tests/sources/trace_w.json @@ -0,0 +1,623 @@ +{"step" : 0,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["main","main"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 177, column 0, characters 4824-4843:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 177, column 0, characters 4824-4843:","main :- (tests [2])."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 4,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["tests [2]"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["tests","tests [2]"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 175, column 0, characters 4785-4821:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 175, column 0, characters 4785-4821:","(tests [A0]) :- (test A0 A1), (typecheck A1)."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := 2"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 5,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["6"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["test 2 X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["7"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["typecheck X0"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["test","test 2 X0"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 184, column 0, characters 4948-5011:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 184, column 0, characters 4948-5011:","(test 2 (let (lam (c0 \\ c0)) A0 (c0 \\ (app c0 (global []))))) :- ."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X0 := let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 6,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["typecheck","typecheck (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 167, column 0, characters 4665-4756:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 167, column 0, characters 4665-4756:","(typecheck A0) :- (print Checking: A0), (theta []), (of A0 A1), !, \n (print A0 : A1), print."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 7,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["8"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["print Checking: (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["9"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["theta []"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["10"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["11"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["12"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["print (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) : X2"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["13"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["print"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["print","print Checking: (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["print"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 8,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["theta","theta []"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 76, column 0, characters 1782-1821:"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 76, column 0, characters 1782-1821:","(theta A0) :- (new_constraint (theta A0) [_])."]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 9,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["14"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["new_constraint (theta []) [_]"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["new_constraint","new_constraint (theta []) [_]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 158, column 0, characters 4374-4418:"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 158, column 0, characters 4374-4418:","(new_constraint A0 A1) :- (declare_constraint A0 A1)."]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := theta []"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := [_]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 14,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["15"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["declare_constraint (theta []) [_]"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (theta []) [_]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["16"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 16,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["theta []"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 15,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 11, column 0, characters 177-284:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 11, column 0, characters 177-284:","(of (let A0 A2 A3) (mono A4)) :- (of A0 (mono A1)), (gammabar (mono A1) A2), \n (pi c0 \\ (of c0 A2 => of (A3 c0) (mono A4)))."]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := lam c0 \\ c0"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A2 := X1"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A3 := c0 \\\napp c0 (global [])"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X2 := mono X3"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 10,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["17"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of (lam c0 \\ c0) (mono X4)"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["18"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["gammabar (mono X4) X1"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["19"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["pi c0 \\ of c0 X1 => of (app c0 (global [])) (mono X3)"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of (lam c0 \\ c0) (mono X4)"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 8, column 0, characters 100-174:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 8, column 0, characters 100-174:","(of (lam A0) (mono (A2 ===> A1))) :- (pi c0 \\\n (of c0 (mono A2) =>\n of (A0 c0) (mono A1)))."]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := c0 \\\nc0"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X4 := X5 ===> X6"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 17,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["20"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["pi c0 \\ of c0 (mono X5) => of c0 (mono X6)"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["pi","pi c0 \\ of c0 (mono X5) => of c0 (mono X6)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:rule","payload" : ["pi"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 20,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["21"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of c0 (mono X5) => of c0 (mono X6)"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","of c0 (mono X5) => of c0 (mono X6)"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 21,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["22"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of c0 (mono X6)"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["(of c0 (mono X5)) :- ."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of c0 (mono X6)"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:12)\", line 1, column 0, characters 0-0:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:12)\", line 1, column 0, characters 0-0:","(of c0 (mono X5)) :- ."]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X6 := X5"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 22,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["gammabar","gammabar (mono (X5 ===> X5)) X1"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 81, column 0, characters 1900-1967:"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 81, column 0, characters 1900-1967:","(gammabar (mono A0) A1) :- (new_constraint (gammabar (mono A0) A1) [_])."]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := X5 ===> X5"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := X1"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 18,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["23"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["new_constraint (gammabar (mono (X5 ===> X5)) X1) [_]"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["new_constraint","new_constraint (gammabar (mono (X5 ===> X5)) X1) [_]"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 158, column 0, characters 4374-4418:"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 158, column 0, characters 4374-4418:","(new_constraint A0 A1) :- (declare_constraint A0 A1)."]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := gammabar (mono (X5 ===> X5)) X1"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := [_]"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 23,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["24"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["declare_constraint (gammabar (mono (X5 ===> X5)) X1) [_]"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["declare_constraint","declare_constraint (gammabar (mono (X5 ===> X5)) X1) [_]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["declare_constraint"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["25"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 25,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["gammabar (mono (X5 ===> X5)) X1"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 24,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 25,"runtime_id" : 0,"name" : "user:CHR:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 85, column 36, characters 2027-2199:","(theta A0) \\ (A1 ?- gammabar A2 A3) | (generalize A0 A1 A2 A4) <=> (A3 = A4)"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X0 := []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X1 := mono (uvar frozen--452 [] ===> uvar frozen--452 [])"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A3 := uvar frozen--453 []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X2 := []"]} +{"step" : 0,"kind" : ["Info"],"goal_id" : 26,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["generalize [] [] (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) X3"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 26,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["generalize","generalize [] [] (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) X3"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 26,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 26,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 97, column 0, characters 2346-2521:"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 26,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 97, column 0, characters 2346-2521:","(generalize A5 A2 (mono A0) A6) :- (free-ty (mono A0) [] A1), \n (free-gamma A2 [] A3), (filter A1 (c0 \\ (not (mem A3 c0))) A4), \n (bind A4 A5 A0 A6)."]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A5 := []"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 [] ===> uvar frozen--452 []"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A6 := X3"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 26,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["27"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["free-ty (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) [] X4"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["28"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 28,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["free-gamma [] [] X5"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["29"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 29,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["filter X4 (c0 \\ not (mem X5 c0)) X6"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["30"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 30,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["bind X6 [] (uvar frozen--452 [] ===> uvar frozen--452 []) X3"]} +{"step" : 1,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["free-ty","free-ty (mono (uvar frozen--452 [] ===> uvar frozen--452 [])) [] X4"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 105, column 0, characters 2637-2673:"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 105, column 0, characters 2637-2673:","(free-ty (mono A0) A1 A2) :- (free A0 A1 A2)."]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 [] ===> uvar frozen--452 []"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A2 := X4"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 27,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["31"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["free (uvar frozen--452 [] ===> uvar frozen--452 []) [] X4"]} +{"step" : 2,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["free","free (uvar frozen--452 [] ===> uvar frozen--452 []) [] X4"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 117, column 0, characters 3023-3072:"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 117, column 0, characters 3023-3072:","(free (A0 ===> A3) A1 A4) :- (free A0 A1 A2), (free A3 A2 A4)."]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 []"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A3 := uvar frozen--452 []"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := []"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A4 := X4"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 31,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["32"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["free (uvar frozen--452 []) [] X7"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["33"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 33,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["free (uvar frozen--452 []) X7 X4"]} +{"step" : 3,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["free","free (uvar frozen--452 []) [] X7"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 118, column 0, characters 3074-3137:"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 118, column 0, characters 3074-3137:","(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0]))."]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := uvar frozen--452 []"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A2 := X7"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 32,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["34"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["if (mem [] (uvar frozen--452 [])) (X7 = []) (X7 = [uvar frozen--452 []])"]} +{"step" : 4,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["if","if (mem [] (uvar frozen--452 [])) (X7 = []) (X7 = [uvar frozen--452 []])"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 536, column 0, characters 13939-13958:","File \"builtin.elpi\", line 537, column 0, characters 13960-13973:"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 536, column 0, characters 13939-13958:","(if A0 A1 _) :- A0, !, A1."]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := mem [] (uvar frozen--452 [])"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := X7 = []"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["35"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem [] (uvar frozen--452 [])"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["36"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 36,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["37"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 37,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["X7 = []"]} +{"step" : 5,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem","mem [] (uvar frozen--452 [])"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:","(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2))."]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := frozen--452"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 35,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["38"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 38,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem! [] (uvar frozen--452 X8)"]} +{"step" : 6,"kind" : ["Info"],"goal_id" : 38,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 38,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem!","mem! [] (uvar frozen--452 X8)"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 38,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 7,"kind" : ["Info"],"goal_id" : 38,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 7,"kind" : ["Info"],"goal_id" : 38,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["if","if (mem [] (uvar frozen--452 [])) (X7 = []) (X7 = [uvar frozen--452 []])"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 537, column 0, characters 13960-13973:"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 537, column 0, characters 13960-13973:","(if _ _ A0) :- A0."]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := X7 = [uvar frozen--452 []]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 34,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["39"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 39,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["X7 = [uvar frozen--452 []]"]} +{"step" : 8,"kind" : ["Info"],"goal_id" : 39,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 39,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["=","X7 = [uvar frozen--452 []]"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 39,"runtime_id" : 1,"name" : "user:rule","payload" : ["eq"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 39,"runtime_id" : 1,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X7 := [uvar frozen--452 []]"]} +{"step" : 9,"kind" : ["Info"],"goal_id" : 39,"runtime_id" : 1,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 33,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["free","free (uvar frozen--452 []) [uvar frozen--452 []] X4"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 33,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 33,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 118, column 0, characters 3074-3137:"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 33,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 118, column 0, characters 3074-3137:","(free (as (uvar _ _) A1) A0 A2) :- (if (mem A0 A1) (A2 = A0) (A2 = [A1 | A0]))."]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := uvar frozen--452 []"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := [uvar frozen--452 []]"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A2 := X4"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 33,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["40"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["if (mem [uvar frozen--452 []] (uvar frozen--452 [])) \n (X4 = [uvar frozen--452 []]) \n (X4 = [uvar frozen--452 [], uvar frozen--452 []])"]} +{"step" : 10,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["if","if (mem [uvar frozen--452 []] (uvar frozen--452 [])) \n (X4 = [uvar frozen--452 []]) \n (X4 = [uvar frozen--452 [], uvar frozen--452 []])"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 536, column 0, characters 13939-13958:","File \"builtin.elpi\", line 537, column 0, characters 13960-13973:"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 536, column 0, characters 13939-13958:","(if A0 A1 _) :- A0, !, A1."]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := mem [uvar frozen--452 []] (uvar frozen--452 [])"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := X4 = [uvar frozen--452 []]"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 40,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["41"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem [uvar frozen--452 []] (uvar frozen--452 [])"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["42"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 42,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["43"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 43,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["X4 = [uvar frozen--452 []]"]} +{"step" : 11,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem","mem [uvar frozen--452 []] (uvar frozen--452 [])"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:","(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2))."]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := [uvar frozen--452 []]"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := frozen--452"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 41,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["44"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem! [uvar frozen--452 []] (uvar frozen--452 X9)"]} +{"step" : 12,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem!","mem! [uvar frozen--452 []] (uvar frozen--452 X9)"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 143, column 0, characters 3903-3920:","File \"tests/sources/trace-w/main.elpi\", line 144, column 0, characters 3922-3948:"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 143, column 0, characters 3903-3920:","(mem! [A0 | _] A0) :- !."]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 []"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X9 := []"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 44,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["45"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 45,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 13,"kind" : ["Info"],"goal_id" : 45,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 45,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 45,"runtime_id" : 1,"name" : "user:rule","payload" : ["cut"]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:rule:cut:branch","payload" : ["44","File \"tests/sources/trace-w/main.elpi\", line 144, column 0, characters 3922-3948:","(mem! [_ | A0] A1) :- (mem! A0 A1)."]} +{"step" : 14,"kind" : ["Info"],"goal_id" : 45,"runtime_id" : 1,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 42,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 42,"runtime_id" : 1,"name" : "user:rule","payload" : ["cut"]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:rule:cut:branch","payload" : ["40","File \"builtin.elpi\", line 537, column 0, characters 13960-13973:","(if _ _ A0) :- A0."]} +{"step" : 15,"kind" : ["Info"],"goal_id" : 42,"runtime_id" : 1,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 43,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["=","X4 = [uvar frozen--452 []]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 43,"runtime_id" : 1,"name" : "user:rule","payload" : ["eq"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 43,"runtime_id" : 1,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X4 := [uvar frozen--452 []]"]} +{"step" : 16,"kind" : ["Info"],"goal_id" : 43,"runtime_id" : 1,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 28,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["free-gamma","free-gamma [] [] X5"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 28,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 28,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 109, column 0, characters 2781-2798:"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 28,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 109, column 0, characters 2781-2798:","(free-gamma [] A0 A0) :- ."]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X5 := []"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 28,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 29,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["filter","filter [uvar frozen--452 []] (c0 \\ not (mem [] c0)) X6"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 29,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 29,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 139, column 0, characters 3789-3837:","File \"tests/sources/trace-w/main.elpi\", line 140, column 0, characters 3839-3875:"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 29,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 139, column 0, characters 3789-3837:","(filter [A0 | A2] A1 [A0 | A3]) :- (A1 A0), !, (filter A2 A1 A3)."]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 []"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A2 := []"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := c0 \\\nnot (mem [] c0)"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X6 := [uvar frozen--452 [] | X10]"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 29,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["46"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["not (mem [] (uvar frozen--452 []))"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["47"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 47,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["48"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 48,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["filter [] (c0 \\ not (mem [] c0)) X10"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["not","not (mem [] (uvar frozen--452 []))"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 69, column 0, characters 1189-1208:","File \"builtin.elpi\", line 71, column 0, characters 1211-1216:"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 69, column 0, characters 1189-1208:","(not A0) :- A0, !, fail."]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := mem [] (uvar frozen--452 [])"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["49"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem [] (uvar frozen--452 [])"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["50"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 50,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["51"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 51,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["fail"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem","mem [] (uvar frozen--452 [])"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:","(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2))."]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := frozen--452"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 49,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["52"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 52,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem! [] (uvar frozen--452 X11)"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 52,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 52,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem!","mem! [] (uvar frozen--452 X11)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 52,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 52,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 21,"kind" : ["Info"],"goal_id" : 52,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["not","not (mem [] (uvar frozen--452 []))"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 71, column 0, characters 1211-1216:"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 71, column 0, characters 1211-1216:","(not _) :- ."]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 46,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 47,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 47,"runtime_id" : 1,"name" : "user:rule","payload" : ["cut"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:rule:cut:branch","payload" : ["29","File \"tests/sources/trace-w/main.elpi\", line 140, column 0, characters 3839-3875:","(filter [_ | A0] A1 A2) :- (filter A0 A1 A2)."]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 47,"runtime_id" : 1,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 48,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["filter","filter [] (c0 \\ not (mem [] c0)) X10"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 48,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 48,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 138, column 0, characters 3773-3787:"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 48,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 138, column 0, characters 3773-3787:","(filter [] _ []) :- ."]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X10 := []"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 48,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 30,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["bind","bind [uvar frozen--452 []] [] (uvar frozen--452 [] ===> uvar frozen--452 []) \n X3"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 30,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 30,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 123, column 0, characters 3297-3418:"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 30,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 123, column 0, characters 3297-3418:","(bind [A1 | A3] A0 A4 (all A2 (c0 \\ (A5 c0)))) :- (if (mem A0 A1) (A2 = eqt) \n (A2 = any)), \n (pi c0 \\ (copy A1 c0 => bind A3 A0 A4 (A5 c0)))."]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := uvar frozen--452 []"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A3 := []"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A4 := uvar frozen--452 [] ===> uvar frozen--452 []"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X3 := all X12 c0 \\ X13 c0"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 30,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["53"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["if (mem [] (uvar frozen--452 [])) (X12 = eqt) (X12 = any)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["54"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 54,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["pi c0 \\\n copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["if","if (mem [] (uvar frozen--452 [])) (X12 = eqt) (X12 = any)"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 536, column 0, characters 13939-13958:","File \"builtin.elpi\", line 537, column 0, characters 13960-13973:"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 536, column 0, characters 13939-13958:","(if A0 A1 _) :- A0, !, A1."]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := mem [] (uvar frozen--452 [])"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := X12 = eqt"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["55"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem [] (uvar frozen--452 [])"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["56"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 56,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["!"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["57"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 57,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["X12 = eqt"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem","mem [] (uvar frozen--452 [])"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 148, column 0, characters 4032-4074:","(mem A0 (uvar A1 _)) :- (mem! A0 (uvar A1 A2))."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := []"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A1 := frozen--452"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 55,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["58"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 58,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["mem! [] (uvar frozen--452 X14)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 58,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 58,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["mem!","mem! [] (uvar frozen--452 X14)"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 58,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 58,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : []} +{"step" : 28,"kind" : ["Info"],"goal_id" : 58,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["fail"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["if","if (mem [] (uvar frozen--452 [])) (X12 = eqt) (X12 = any)"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"builtin.elpi\", line 537, column 0, characters 13960-13973:"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"builtin.elpi\", line 537, column 0, characters 13960-13973:","(if _ _ A0) :- A0."]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := X12 = any"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 53,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["59"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 59,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["X12 = any"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 59,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 59,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["=","X12 = any"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 59,"runtime_id" : 1,"name" : "user:rule","payload" : ["eq"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 59,"runtime_id" : 1,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X12 := any"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 59,"runtime_id" : 1,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 54,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["pi","pi c0 \\\n copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 54,"runtime_id" : 1,"name" : "user:rule","payload" : ["pi"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 54,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["60"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 60,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 60,"runtime_id" : 1,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 60,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["=>","copy (uvar frozen--452 []) c0 =>\n bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 60,"runtime_id" : 1,"name" : "user:rule","payload" : ["implication"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 60,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["61"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:new-hyps","payload" : ["(copy (uvar frozen--452 []) c0) :- ."]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["bind","bind [] [] (uvar frozen--452 [] ===> uvar frozen--452 []) (X13 c0)"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 122, column 0, characters 3261-3295:"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 122, column 0, characters 3261-3295:","(bind [] _ A0 (mono A1)) :- (copy A0 A1)."]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 [] ===> uvar frozen--452 []"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign:simplify:heap","payload" : ["X13 := c0 \\\nX15 c0"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X15^1 := mono X16^1"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 61,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["62"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["copy (uvar frozen--452 [] ===> uvar frozen--452 []) X16^1"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["copy","copy (uvar frozen--452 [] ===> uvar frozen--452 []) X16^1"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 130, column 0, characters 3475-3527:"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 130, column 0, characters 3475-3527:","(copy (A0 ===> A2) (A1 ===> A3)) :- (copy A0 A1), (copy A2 A3)."]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A0 := uvar frozen--452 []"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["A2 := uvar frozen--452 []"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X16^1 := X17^1 ===> X18^1"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 62,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["63"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["copy (uvar frozen--452 []) X17^1"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:subgoal","payload" : ["64"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 64,"runtime_id" : 1,"name" : "user:newgoal","payload" : ["copy (uvar frozen--452 []) X18^1"]} +{"step" : 34,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["copy","copy (uvar frozen--452 []) X17^1"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:32)\", line 1, column 0, characters 0-0:","File \"tests/sources/trace-w/main.elpi\", line 133, column 0, characters 3621-3647:"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:32)\", line 1, column 0, characters 0-0:","(copy (uvar frozen--452 []) c0) :- ."]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X17^1 := c0"]} +{"step" : 35,"kind" : ["Info"],"goal_id" : 63,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 64,"runtime_id" : 1,"name" : "user:curgoal","payload" : ["copy","copy (uvar frozen--452 []) X18^1"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 64,"runtime_id" : 1,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 64,"runtime_id" : 1,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:32)\", line 1, column 0, characters 0-0:","File \"tests/sources/trace-w/main.elpi\", line 133, column 0, characters 3621-3647:"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 64,"runtime_id" : 1,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:32)\", line 1, column 0, characters 0-0:","(copy (uvar frozen--452 []) c0) :- ."]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 1,"name" : "user:assign","payload" : ["X18^1 := c0"]} +{"step" : 36,"kind" : ["Info"],"goal_id" : 64,"runtime_id" : 1,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 25,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["65"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 65,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["_ => X1 = all any c0 \\ mono (c0 ===> c0)"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 25,"runtime_id" : 0,"name" : "user:CHR:rule-fired","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 85, column 36, characters 2027-2199:"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 25,"runtime_id" : 0,"name" : "user:CHR:rule-remove-constraints","payload" : ["25"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:CHR:store:before","payload" : ["25"," gammabar (mono (X5 ===> X5)) X1 /* suspended on X7 */"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:CHR:store:before","payload" : ["16"," theta [] /* suspended on X7 */"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:CHR:store:after","payload" : ["16"," theta [] /* suspended on X7 */"]} +{"step" : 17,"kind" : ["Info"],"goal_id" : 65,"runtime_id" : 0,"name" : "user:CHR:resumed","payload" : ["_ => X1 = all any c0 \\ mono (c0 ===> c0)"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 65,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","_ => X1 = all any c0 \\ mono (c0 ===> c0)"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 65,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 65,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["66"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["X1 = all any c0 \\ mono (c0 ===> c0)"]} +{"step" : 18,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:new-hyps","payload" : []} +{"step" : 18,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=","X1 = all any c0 \\ mono (c0 ===> c0)"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:rule","payload" : ["eq"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["="]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X1 := all any c0 \\ mono (c0 ===> c0)"]} +{"step" : 19,"kind" : ["Info"],"goal_id" : 66,"runtime_id" : 0,"name" : "user:rule:eq","payload" : ["success"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["pi","pi c0 \\\n of c0 (all any c1 \\ mono (c1 ===> c1)) => of (app c0 (global [])) (mono X3)"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:rule","payload" : ["pi"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 19,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["67"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 67,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of c0 (all any c1 \\ mono (c1 ===> c1)) => of (app c0 (global [])) (mono X3)"]} +{"step" : 20,"kind" : ["Info"],"goal_id" : 67,"runtime_id" : 0,"name" : "user:rule:pi","payload" : ["success"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 67,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["=>","of c0 (all any c1 \\ mono (c1 ===> c1)) => of (app c0 (global [])) (mono X3)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 67,"runtime_id" : 0,"name" : "user:rule","payload" : ["implication"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 67,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["68"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of (app c0 (global [])) (mono X3)"]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:new-hyps","payload" : ["(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ."]} +{"step" : 21,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:rule:implication","payload" : ["success"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of (app c0 (global [])) (mono X3)"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 4, column 0, characters 31-97:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 4, column 0, characters 31-97:","(of (app A0 A3) (mono A2)) :- (of A0 (mono (A1 ===> A2))), (of A3 (mono A1))."]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A3 := global []"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A2 := X3"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 68,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["69"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of c0 (mono (X8^1 ===> X3))"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["70"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of (global []) (mono X8^1)"]} +{"step" : 22,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of c0 (mono (X8^1 ===> X3))"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:21)\", line 1, column 0, characters 0-0:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:21)\", line 1, column 0, characters 0-0:","(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ."]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify mono (X8^1 ===> X3) with all any c1 \\ mono (c1 ===> c1)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := c0"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A3 := X8^1 ===> X3"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 69,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["71"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of c0 (all X9^1 X10^1)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["72"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 72,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["specialize (all X9^1 X10^1) (X8^1 ===> X3)"]} +{"step" : 23,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of c0 (all X9^1 X10^1)"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"(context step_id:21)\", line 1, column 0, characters 0-0:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"(context step_id:21)\", line 1, column 0, characters 0-0:","(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- ."]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X9^1 := any"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X10^1 := c1 \\\nmono (c1 ===> c1)"]} +{"step" : 24,"kind" : ["Info"],"goal_id" : 71,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 72,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["specialize","specialize (all any c1 \\ mono (c1 ===> c1)) (X8^1 ===> X3)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 72,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 72,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 57, column 0, characters 1282-1333:","File \"tests/sources/trace-w/main.elpi\", line 58, column 0, characters 1335-1398:"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 72,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 57, column 0, characters 1282-1333:","(specialize (all any A1) A2) :- (specialize (A1 A0) A2)."]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := c1 \\\nmono (c1 ===> c1)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A2 := X8^1 ===> X3"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 72,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["73"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["specialize (mono (X11^1 ===> X11^1)) (X8^1 ===> X3)"]} +{"step" : 25,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["specialize","specialize (mono (X11^1 ===> X11^1)) (X8^1 ===> X3)"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 56, column 0, characters 1259-1280:"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 56, column 0, characters 1259-1280:","(specialize (mono A0) A0) :- ."]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := X11^1 ===> X11^1"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X11 c0 := X8 c0"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X8 c0 := X3"]} +{"step" : 26,"kind" : ["Info"],"goal_id" : 73,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of (global []) (mono X3)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 38, column 0, characters 656-687:","File \"tests/sources/trace-w/main.elpi\", line 39, column 0, characters 689-720:","File \"tests/sources/trace-w/main.elpi\", line 40, column 0, characters 722-753:","File \"tests/sources/trace-w/main.elpi\", line 41, column 0, characters 755-806:","File \"tests/sources/trace-w/main.elpi\", line 43, column 0, characters 809-855:","File \"tests/sources/trace-w/main.elpi\", line 44, column 0, characters 857-922:","File \"tests/sources/trace-w/main.elpi\", line 45, column 0, characters 924-979:","File \"tests/sources/trace-w/main.elpi\", line 46, column 0, characters 981-1039:","File \"tests/sources/trace-w/main.elpi\", line 48, column 0, characters 1042-1117:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 38, column 0, characters 656-687:","(of (global 1) (mono int)) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global 1"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 39, column 0, characters 689-720:","(of (global 2) (mono int)) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global 2"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 40, column 0, characters 722-753:","(of (global 3) (mono int)) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global 3"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 41, column 0, characters 755-806:","(of (global plus) (mono (int ===> int ===> int))) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global plus"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 43, column 0, characters 809-855:","(of (global []) (all any (c0 \\ (mono (list c0))))) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["unify mono X3 with all any c0 \\ mono (list c0)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 44, column 0, characters 857-922:","(of (global ::) (all any (c0 \\ (mono (c0 ===> list c0 ===> list c0))))) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global ::"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 45, column 0, characters 924-979:","(of (global size) (all any (c0 \\ (mono (list c0 ===> int))))) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global size"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 46, column 0, characters 981-1039:","(of (global undup) (all eqt (c0 \\ (mono (list c0 ===> list c0))))) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global undup"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 48, column 0, characters 1042-1117:","(of (global ,) \n (all any (c0 \\ (all any (c1 \\ (mono (c0 ===> c1 ===> pair c0 c1))))))) :- ."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global ,"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := global []"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A3 := X3"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 70,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["74"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["of (global []) (all X12^1 X13^1)"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["75"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 75,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["specialize (all X12^1 X13^1) X3"]} +{"step" : 27,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["of","of (global []) (all X12^1 X13^1)"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 38, column 0, characters 656-687:","File \"tests/sources/trace-w/main.elpi\", line 39, column 0, characters 689-720:","File \"tests/sources/trace-w/main.elpi\", line 40, column 0, characters 722-753:","File \"tests/sources/trace-w/main.elpi\", line 41, column 0, characters 755-806:","File \"tests/sources/trace-w/main.elpi\", line 43, column 0, characters 809-855:","File \"tests/sources/trace-w/main.elpi\", line 44, column 0, characters 857-922:","File \"tests/sources/trace-w/main.elpi\", line 45, column 0, characters 924-979:","File \"tests/sources/trace-w/main.elpi\", line 46, column 0, characters 981-1039:","File \"tests/sources/trace-w/main.elpi\", line 48, column 0, characters 1042-1117:","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 38, column 0, characters 656-687:","(of (global 1) (mono int)) :- ."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global 1"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 39, column 0, characters 689-720:","(of (global 2) (mono int)) :- ."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global 2"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 40, column 0, characters 722-753:","(of (global 3) (mono int)) :- ."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global 3"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 41, column 0, characters 755-806:","(of (global plus) (mono (int ===> int ===> int))) :- ."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:backchain:fail-to","payload" : ["match global [] with global plus"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 43, column 0, characters 809-855:","(of (global []) (all any (c0 \\ (mono (list c0))))) :- ."]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X12^1 := any"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X13^1 := c1 \\\nmono (list c1)"]} +{"step" : 28,"kind" : ["Info"],"goal_id" : 74,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 75,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["specialize","specialize (all any c1 \\ mono (list c1)) X3"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 75,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 75,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 57, column 0, characters 1282-1333:","File \"tests/sources/trace-w/main.elpi\", line 58, column 0, characters 1335-1398:"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 75,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 57, column 0, characters 1282-1333:","(specialize (all any A1) A2) :- (specialize (A1 A0) A2)."]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A1 := c1 \\\nmono (list c1)"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A2 := X3"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 75,"runtime_id" : 0,"name" : "user:subgoal","payload" : ["76"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:newgoal","payload" : ["specialize (mono (list X14^1)) X3"]} +{"step" : 29,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["specialize","specialize (mono (list X14^1)) X3"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:rule","payload" : ["backchain"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:rule:backchain:candidates","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 56, column 0, characters 1259-1280:"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:rule:backchain:try","payload" : ["File \"tests/sources/trace-w/main.elpi\", line 56, column 0, characters 1259-1280:","(specialize (mono A0) A0) :- ."]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["A0 := list X14^1"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign:expand","payload" : ["X14^1 := X15 c0"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign:restrict","payload" : ["0 X15 c0 := c0 \\\n.X16"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:assign","payload" : ["X3 := list X16"]} +{"step" : 30,"kind" : ["Info"],"goal_id" : 76,"runtime_id" : 0,"name" : "user:rule:backchain","payload" : ["success"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["!","!"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule","payload" : ["cut"]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["75","File \"tests/sources/trace-w/main.elpi\", line 58, column 0, characters 1335-1398:","(specialize (all eqt A1) A2) :- (specialize (A1 A0) A2), (eqbar A0)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/main.elpi\", line 44, column 0, characters 857-922:","(of (global ::) (all any (c0 \\ (mono (c0 ===> list c0 ===> list c0))))) :- ."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/main.elpi\", line 45, column 0, characters 924-979:","(of (global size) (all any (c0 \\ (mono (list c0 ===> int))))) :- ."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/main.elpi\", line 46, column 0, characters 981-1039:","(of (global undup) (all eqt (c0 \\ (mono (list c0 ===> list c0))))) :- ."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/main.elpi\", line 48, column 0, characters 1042-1117:","(of (global ,) \n (all any (c0 \\ (all any (c1 \\ (mono (c0 ===> c1 ===> pair c0 c1))))))) :- ."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["74","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["70","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["70","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["72","File \"tests/sources/trace-w/main.elpi\", line 58, column 0, characters 1335-1398:","(specialize (all eqt A1) A2) :- (specialize (A1 A0) A2), (eqbar A0)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["71","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["71","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["71","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["69","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["69","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["68","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["68","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["68","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["22","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["22","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["22","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["17","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["17","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["17","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["10","File \"tests/sources/trace-w/hm.elpi\", line 21, column 0, characters 368-429:","(of A0 (mono A3)) :- (of A0 (all A1 A2)), (specialize (all A1 A2) A3)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["10","File \"tests/sources/trace-w/main.elpi\", line 163, column 0, characters 4507-4576:","(of A0 (mono A2)) :- (not err), !, (err => of A0 (mono A1)), \n (assert A0 A1 A2)."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 0,"runtime_id" : 0,"name" : "user:rule:cut:branch","payload" : ["10","File \"tests/sources/trace-w/main.elpi\", line 164, column 0, characters 4578-4639:","(of A0 (mono _)) :- (print KO: term ( A0 ) has no type\n), halt."]} +{"step" : 31,"kind" : ["Info"],"goal_id" : 11,"runtime_id" : 0,"name" : "user:rule:cut","payload" : ["success"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["print","print\n (let (lam c0 \\ c0) (all any c0 \\ mono (c0 ===> c0)) c0 \\ app c0 (global [])) \n : (mono (list X16))"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["print"]} +{"step" : 32,"kind" : ["Info"],"goal_id" : 12,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:curgoal","payload" : ["print","print"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule","payload" : ["builtin"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:builtin:name","payload" : ["print"]} +{"step" : 33,"kind" : ["Info"],"goal_id" : 13,"runtime_id" : 0,"name" : "user:rule:builtin","payload" : ["success"]} diff --git a/src/tests/tsconfig.json b/src/tests/tsconfig.json new file mode 100644 index 0000000..2529e65 --- /dev/null +++ b/src/tests/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "composite": true, + "module": "node18", + "rootDir": "../", + "outDir": "../../out", + "resolveJsonModule": true + }, + "include": ["."], + "references": [{ "path": "../shared" }] +} diff --git a/tsconfig.json b/tsconfig.json index c846f48..cacf0e3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,8 @@ "forceConsistentCasingInFileNames": true, "verbatimModuleSyntax": false, "sourceMap": true, - "strict": true + "strict": true, + "target": "es2022" }, "files": [], "references": [ From 7b5f721caf9dec28d014b8afdd58d059271de5fe Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sun, 26 Jul 2026 16:14:37 +0200 Subject: [PATCH 08/11] Use node's built-in snapshot testing --- package.json | 6 +- .../{elaborator.mts => elaborator.test.mts} | 36 +- src/tests/index.mts | 1 - src/tests/sources/broken_trace1.elab.json | 25005 +++++++++++++--- src/tests/sources/trace.elab.json | 233 +- src/tests/sources/trace2.elab.json | 203 +- src/tests/sources/trace3.elab.json | 103 +- src/tests/sources/trace4.elab.json | 118 +- src/tests/sources/trace_chr.elab.json | 305 +- src/tests/sources/trace_cut.elab.json | 171 +- src/tests/sources/trace_findall.elab.json | 108 +- src/tests/sources/trace_implication.elab.json | 307 +- src/tests/sources/trace_w.elab.json | 1098 +- 13 files changed, 23131 insertions(+), 4563 deletions(-) rename src/tests/{elaborator.mts => elaborator.test.mts} (58%) delete mode 100644 src/tests/index.mts diff --git a/package.json b/package.json index 604719a..54cfb80 100644 --- a/package.json +++ b/package.json @@ -153,8 +153,10 @@ "lint": "eslint . --ext .ts,.tsx", "watch": "npm run compile -- -w", "watch:tests": "npm run compile:tests -- -w", - "run:test": "node ./out/tests/index.mjs", - "test": "npm run compile:tests && cp -r ./src/tests/sources ./out/tests/ && npm run run:test", + "run:test": "node --test './out/**/*.test.mjs'", + "run:promote": "node --test-update-snapshots --test './**/*.test.mjs'", + "test": "npm run compile:tests && npm run run:test", + "promote": "npm run compile:tests && npm run run:promote", "deploy": "vsce publish" }, "devDependencies": { diff --git a/src/tests/elaborator.mts b/src/tests/elaborator.test.mts similarity index 58% rename from src/tests/elaborator.mts rename to src/tests/elaborator.test.mts index 5315afe..be745b2 100644 --- a/src/tests/elaborator.mts +++ b/src/tests/elaborator.test.mts @@ -1,12 +1,14 @@ +import * as fs from 'node:fs/promises'; +import * as path from 'node:path'; import { suite, test } from 'node:test'; -import * as assert from 'node:assert' -import * as fs from 'node:fs/promises' -import * as path from 'node:path' import * as E from '../shared/elaborator/index.mjs'; // TODO: compare IR instead of the ATD format import { writeTrace } from '../shared/elaborator/trace_v2.mjs'; +// Relative to the output directory +const testSources = path.join(import.meta.dirname, '../../src/tests/sources') + const traces = [ 'trace_chr', 'trace', @@ -27,33 +29,37 @@ const brokenTraces = [ } ]; +function getTraceFile(name: string): string { + return path.join(testSources, `${name}.json`) +} + function getTrace(name: string): Promise { - return fs.readFile( - path.join(import.meta.dirname, 'sources', `${name}.json`), - 'utf-8' - ) + return fs.readFile(getTraceFile(name), 'utf-8') } suite('Successful elaboration tests', () => { traces.forEach(({ source, target }) => { - test(`Elaborate ${source}`, async () => { + test(`Elaborate ${source}`, async t => { const input = await getTrace(source); - const expectedOutput= JSON.parse(await getTrace(target)); const elaborated = E.elaborate(input); - const output = writeTrace(elaborated); - // TODO: implement promotion - assert.partialDeepStrictEqual(output, expectedOutput); - // assert.deepStrictEqual(output, expectedOutput); + t.assert.fileSnapshot( + elaborated, + getTraceFile(target), + { serializers: [ + writeTrace, + v => JSON.stringify(v, undefined, 2) + ] } + ) }) }) }) suite('Failing elaboration tests', () => { brokenTraces.forEach(({ source, validate }) => { - test(`Fail elaboration of ${source}`, async () => { + test(`Fail elaboration of ${source}`, async t => { const input = await getTrace(source); - assert.throws(() => E.elaborate(input), validate) + t.assert.throws(() => E.elaborate(input), validate) }) }) }) diff --git a/src/tests/index.mts b/src/tests/index.mts deleted file mode 100644 index a87f341..0000000 --- a/src/tests/index.mts +++ /dev/null @@ -1 +0,0 @@ -import './elaborator.mjs' diff --git a/src/tests/sources/broken_trace1.elab.json b/src/tests/sources/broken_trace1.elab.json index 0921729..432fe5e 100644 --- a/src/tests/sources/broken_trace1.elab.json +++ b/src/tests/sources/broken_trace1.elab.json @@ -26,7 +26,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -40,11 +44,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -83,16 +92,25 @@ } ], "events": [ - [ "Assign", "A0 := _" ], + [ + "Assign", + "A0 := _" + ], [ "Assign", "A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]" ], - [ "Assign", "A2 := arity X1" ] + [ + "Assign", + "A2 := arity X1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1123 }, + { + "goal_text": "!", + "goal_id": 1123 + }, { "goal_text": "with-attributes\n (with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))", "goal_id": 1124 @@ -102,6 +120,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -125,7 +144,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -220,12 +243,18 @@ ] }, "siblings": [ - { "goal_text": "attributes X2", "goal_id": 1125 }, + { + "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-attributes.aux [attribute c0 (node c1) | c2] c3 c4 :-\n , (if (c3 = ) (c7 = c0) (c7 is c3 ^ . ^ c0)) \n (supported-attribute (att c7 attmap)) (!) \n (parse-attributes.aux c2 c3 c5) \n (pi c8 \\ supported-attribute (att c8 string) :- ! =>\n parse-attributes.aux c1 c6) \n (std.append c5 [get-option c7 c6] c4) =>\n coq.parse-attributes X2 \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 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_id": 1126 }, - { "goal_text": "!", "goal_id": 1127 }, + { + "goal_text": "!", + "goal_id": 1127 + }, { "goal_text": "X3 =>\n (save-docstring ,\n with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _))", "goal_id": 1128 @@ -235,6 +264,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -277,7 +307,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -304,7 +338,10 @@ "UserRule", { "rule_text": "(attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- .", - "rule_loc": [ "Context", 1 ] + "rule_loc": [ + "Context", + 1 + ] } ], "events": [ @@ -319,13 +356,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(attributes\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)]) :- .", - "rule_loc": [ "Context", 1 ] + "rule_loc": [ + "Context", + 1 + ] } ], "step_id": 5, @@ -372,7 +413,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -397,7 +442,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -411,11 +460,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -461,7 +515,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -508,7 +566,10 @@ "Assign", "A1 := [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 compress_coercions 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]" ], - [ "Assign", "A2 := X3" ] + [ + "Assign", + "A2 := X3" + ] ] }, "siblings": [ @@ -520,12 +581,16 @@ "goal_text": "X4 =>\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 } + { + "goal_text": "!", + "goal_id": 1132 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -549,7 +614,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -595,7 +664,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -634,15 +707,22 @@ } ], "events": [ - [ "Assign", "A0 := att verbose bool" ], + [ + "Assign", + "A0 := att verbose bool" + ], [ "Assign", "A1 := [att mathcomp bool, att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X4 := [X5 | X6]" ] + [ + "Assign", + "X4 := [X5 | X6]" + ] ] }, "siblings": [ @@ -659,6 +739,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -701,7 +782,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -747,7 +832,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -772,10 +861,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X5 := supported-attribute (att verbose bool)" ] + [ + "Assign", + "X5 := supported-attribute (att verbose bool)" + ] ] }, "siblings": [], @@ -783,10 +879,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 9, "runtime_id": 8 @@ -832,7 +934,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -878,7 +984,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -917,15 +1027,22 @@ } ], "events": [ - [ "Assign", "A0 := att mathcomp bool" ], + [ + "Assign", + "A0 := att mathcomp bool" + ], [ "Assign", "A1 := [att mathcomp.axiom string, att short.type string, \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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X6 := [X7 | X8]" ] + [ + "Assign", + "X6 := [X7 | X8]" + ] ] }, "siblings": [ @@ -942,6 +1059,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1003,7 +1121,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -1049,7 +1171,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -1074,10 +1200,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X7 := supported-attribute (att mathcomp bool)" ] + [ + "Assign", + "X7 := supported-attribute (att mathcomp bool)" + ] ] }, "siblings": [], @@ -1085,10 +1218,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 11, "runtime_id": 8 @@ -1153,7 +1292,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -1199,7 +1342,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -1238,15 +1385,22 @@ } ], "events": [ - [ "Assign", "A0 := att mathcomp.axiom string" ], + [ + "Assign", + "A0 := att mathcomp.axiom string" + ], [ "Assign", "A1 := [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 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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X8 := [X9 | X10]" ] + [ + "Assign", + "X8 := [X9 | X10]" + ] ] }, "siblings": [ @@ -1263,6 +1417,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1343,7 +1498,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -1389,7 +1548,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -1414,7 +1577,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -1428,10 +1595,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 13, "runtime_id": 8 @@ -1515,7 +1688,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -1561,7 +1738,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -1600,15 +1781,22 @@ } ], "events": [ - [ "Assign", "A0 := att short.type string" ], + [ + "Assign", + "A0 := att short.type string" + ], [ "Assign", "A1 := [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 bool, att fail bool, att doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X10 := [X11 | X12]" ] + [ + "Assign", + "X10 := [X11 | X12]" + ] ] }, "siblings": [ @@ -1625,6 +1813,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1724,7 +1913,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -1770,7 +1963,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -1795,7 +1992,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -1809,10 +2010,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 15, "runtime_id": 8 @@ -1915,7 +2122,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -1961,7 +2172,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -2000,15 +2215,22 @@ } ], "events": [ - [ "Assign", "A0 := att short.pack string" ], + [ + "Assign", + "A0 := att short.pack string" + ], [ "Assign", "A1 := [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 doc string, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X12 := [X13 | X14]" ] + [ + "Assign", + "X12 := [X13 | X14]" + ] ] }, "siblings": [ @@ -2025,6 +2247,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2143,7 +2366,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -2189,7 +2416,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -2214,7 +2445,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -2228,10 +2463,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 17, "runtime_id": 8 @@ -2353,7 +2594,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -2399,7 +2644,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -2438,15 +2687,22 @@ } ], "events": [ - [ "Assign", "A0 := att infer attmap" ], + [ + "Assign", + "A0 := att infer attmap" + ], [ "Assign", "A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X14 := [X15 | X16]" ] + [ + "Assign", + "X14 := [X15 | X16]" + ] ] }, "siblings": [ @@ -2463,6 +2719,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2600,7 +2857,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -2646,7 +2907,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -2671,10 +2936,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X15 := supported-attribute (att infer attmap)" ] + [ + "Assign", + "X15 := supported-attribute (att infer attmap)" + ] ] }, "siblings": [], @@ -2682,10 +2954,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 19, "runtime_id": 8 @@ -2826,7 +3104,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -2872,7 +3154,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -2911,15 +3197,22 @@ } ], "events": [ - [ "Assign", "A0 := att key string" ], + [ + "Assign", + "A0 := att key string" + ], [ "Assign", "A1 := [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, \n att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X16 := [X17 | X18]" ] + [ + "Assign", + "X16 := [X17 | X18]" + ] ] }, "siblings": [ @@ -2936,6 +3229,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3092,7 +3386,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -3138,7 +3436,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -3163,10 +3465,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X17 := supported-attribute (att key string)" ] + [ + "Assign", + "X17 := supported-attribute (att key string)" + ] ] }, "siblings": [], @@ -3174,10 +3483,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 21, "runtime_id": 8 @@ -3337,7 +3652,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -3383,7 +3702,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -3422,15 +3745,22 @@ } ], "events": [ - [ "Assign", "A0 := att arg_sort bool" ], + [ + "Assign", + "A0 := att arg_sort bool" + ], [ "Assign", "A1 := [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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X18 := [X19 | X20]" ] + [ + "Assign", + "X18 := [X19 | X20]" + ] ] }, "siblings": [ @@ -3447,6 +3777,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3622,7 +3953,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -3668,7 +4003,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -3693,11 +4032,16 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ - "Assign", "X19 := supported-attribute (att arg_sort bool)" + "Assign", + "X19 := supported-attribute (att arg_sort bool)" ] ] }, @@ -3706,10 +4050,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 23, "runtime_id": 8 @@ -3888,7 +4238,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -3934,7 +4288,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -3973,15 +4331,22 @@ } ], "events": [ - [ "Assign", "A0 := att log bool" ], + [ + "Assign", + "A0 := att log bool" + ], [ "Assign", "A1 := [att log.raw bool, att compress_coercions 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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X20 := [X21 | X22]" ] + [ + "Assign", + "X20 := [X21 | X22]" + ] ] }, "siblings": [ @@ -3998,6 +4363,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4192,7 +4558,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -4238,7 +4608,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -4263,10 +4637,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X21 := supported-attribute (att log bool)" ] + [ + "Assign", + "X21 := supported-attribute (att log bool)" + ] ] }, "siblings": [], @@ -4274,10 +4655,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 25, "runtime_id": 8 @@ -4475,7 +4862,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -4521,7 +4912,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -4560,15 +4955,22 @@ } ], "events": [ - [ "Assign", "A0 := att log.raw bool" ], + [ + "Assign", + "A0 := att log.raw bool" + ], [ "Assign", "A1 := [att compress_coercions 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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X22 := [X23 | X24]" ] + [ + "Assign", + "X22 := [X23 | X24]" + ] ] }, "siblings": [ @@ -4585,6 +4987,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4798,7 +5201,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -4844,7 +5251,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -4869,10 +5280,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X23 := supported-attribute (att log.raw bool)" ] + [ + "Assign", + "X23 := supported-attribute (att log.raw bool)" + ] ] }, "siblings": [], @@ -4880,10 +5298,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 27, "runtime_id": 8 @@ -5100,7 +5524,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -5146,7 +5574,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -5185,15 +5617,22 @@ } ], "events": [ - [ "Assign", "A0 := att compress_coercions bool" ], + [ + "Assign", + "A0 := att compress_coercions bool" + ], [ "Assign", "A1 := [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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X24 := [X25 | X26]" ] + [ + "Assign", + "X24 := [X25 | X26]" + ] ] }, "siblings": [ @@ -5210,6 +5649,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5442,7 +5882,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -5488,7 +5932,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -5513,7 +5961,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -5527,10 +5979,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 29, "runtime_id": 8 @@ -5766,7 +6224,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -5812,7 +6274,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -5851,15 +6317,22 @@ } ], "events": [ - [ "Assign", "A0 := att export bool" ], + [ + "Assign", + "A0 := att export bool" + ], [ "Assign", "A1 := [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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X26 := [X27 | X28]" ] + [ + "Assign", + "X26 := [X27 | X28]" + ] ] }, "siblings": [ @@ -5876,6 +6349,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -6127,7 +6601,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -6173,7 +6651,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -6198,10 +6680,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X27 := supported-attribute (att export bool)" ] + [ + "Assign", + "X27 := supported-attribute (att export bool)" + ] ] }, "siblings": [], @@ -6209,10 +6698,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 8 @@ -6467,7 +6962,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -6513,7 +7012,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -6552,15 +7055,22 @@ } ], "events": [ - [ "Assign", "A0 := att skip string" ], + [ + "Assign", + "A0 := att skip string" + ], [ "Assign", "A1 := [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]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X28 := [X29 | X30]" ] + [ + "Assign", + "X28 := [X29 | X30]" + ] ] }, "siblings": [ @@ -6577,6 +7087,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -6847,7 +7358,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -6893,7 +7408,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -6918,10 +7437,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X29 := supported-attribute (att skip string)" ] + [ + "Assign", + "X29 := supported-attribute (att skip string)" + ] ] }, "siblings": [], @@ -6929,10 +7455,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 33, "runtime_id": 8 @@ -7206,7 +7738,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -7252,7 +7788,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -7291,15 +7831,22 @@ } ], "events": [ - [ "Assign", "A0 := att local bool" ], + [ + "Assign", + "A0 := att local bool" + ], [ "Assign", "A1 := [att fail bool, att doc string, att primitive_class bool, \n att primitive bool, att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X30 := [X31 | X32]" ] + [ + "Assign", + "X30 := [X31 | X32]" + ] ] }, "siblings": [ @@ -7316,6 +7863,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -7605,7 +8153,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -7651,7 +8203,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -7676,10 +8232,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X31 := supported-attribute (att local bool)" ] + [ + "Assign", + "X31 := supported-attribute (att local bool)" + ] ] }, "siblings": [], @@ -7687,10 +8250,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 35, "runtime_id": 8 @@ -7983,7 +8552,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -8029,7 +8602,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -8068,15 +8645,22 @@ } ], "events": [ - [ "Assign", "A0 := att fail bool" ], + [ + "Assign", + "A0 := att fail bool" + ], [ "Assign", "A1 := [att doc string, att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X32 := [X33 | X34]" ] + [ + "Assign", + "X32 := [X33 | X34]" + ] ] }, "siblings": [ @@ -8093,6 +8677,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -8401,7 +8986,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -8447,7 +9036,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -8472,10 +9065,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X33 := supported-attribute (att fail bool)" ] + [ + "Assign", + "X33 := supported-attribute (att fail bool)" + ] ] }, "siblings": [], @@ -8483,10 +9083,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 37, "runtime_id": 8 @@ -8798,7 +9404,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -8844,7 +9454,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -8883,15 +9497,22 @@ } ], "events": [ - [ "Assign", "A0 := att doc string" ], + [ + "Assign", + "A0 := att doc string" + ], [ "Assign", "A1 := [att primitive_class bool, att primitive bool, \n att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X34 := [X35 | X36]" ] + [ + "Assign", + "X34 := [X35 | X36]" + ] ] }, "siblings": [ @@ -8908,6 +9529,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -9235,7 +9857,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -9281,7 +9907,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -9306,10 +9936,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X35 := supported-attribute (att doc string)" ] + [ + "Assign", + "X35 := supported-attribute (att doc string)" + ] ] }, "siblings": [], @@ -9317,10 +9954,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 39, "runtime_id": 8 @@ -9651,7 +10294,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -9697,7 +10344,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -9736,15 +10387,22 @@ } ], "events": [ - [ "Assign", "A0 := att primitive_class bool" ], + [ + "Assign", + "A0 := att primitive_class bool" + ], [ "Assign", "A1 := [att primitive bool, att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X36 := [X37 | X38]" ] + [ + "Assign", + "X36 := [X37 | X38]" + ] ] }, "siblings": [ @@ -9761,6 +10419,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -10107,7 +10766,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -10153,7 +10816,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -10178,7 +10845,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -10192,10 +10863,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 41, "runtime_id": 8 @@ -10545,7 +11222,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -10591,7 +11272,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -10630,15 +11315,22 @@ } ], "events": [ - [ "Assign", "A0 := att primitive bool" ], + [ + "Assign", + "A0 := att primitive bool" + ], [ "Assign", "A1 := [att non_forgetful_inheritance bool, att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" ], - [ "Assign", "X38 := [X39 | X40]" ] + [ + "Assign", + "X38 := [X39 | X40]" + ] ] }, "siblings": [ @@ -10655,6 +11347,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -11020,7 +11713,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -11066,7 +11763,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -11091,11 +11792,16 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ - "Assign", "X39 := supported-attribute (att primitive bool)" + "Assign", + "X39 := supported-attribute (att primitive bool)" ] ] }, @@ -11104,10 +11810,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 43, "runtime_id": 8 @@ -11476,7 +12188,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -11522,7 +12238,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -11561,12 +12281,22 @@ } ], "events": [ - [ "Assign", "A0 := att non_forgetful_inheritance bool" ], - [ "Assign", "A1 := [att hnf bool]" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A0 := att non_forgetful_inheritance bool" + ], + [ + "Assign", + "A1 := [att hnf bool]" ], - [ "Assign", "X40 := [X41 | X42]" ] + [ + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ + "Assign", + "X40 := [X41 | X42]" + ] ] }, "siblings": [ @@ -11583,6 +12313,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -11967,7 +12698,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -12013,7 +12748,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -12038,7 +12777,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -12052,10 +12795,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 45, "runtime_id": 8 @@ -12443,7 +13192,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -12489,7 +13242,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -12528,12 +13285,22 @@ } ], "events": [ - [ "Assign", "A0 := att hnf bool" ], - [ "Assign", "A1 := []" ], [ - "Assign", "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + "Assign", + "A0 := att hnf bool" ], - [ "Assign", "X42 := [X43 | X44]" ] + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := c0 \\ c1 \\\nc1 = supported-attribute c0" + ], + [ + "Assign", + "X42 := [X43 | X44]" + ] ] }, "siblings": [ @@ -12550,6 +13317,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -12953,7 +13721,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -12999,7 +13771,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -13024,10 +13800,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X43 := supported-attribute (att hnf bool)" ] + [ + "Assign", + "X43 := supported-attribute (att hnf bool)" + ] ] }, "siblings": [], @@ -13035,10 +13818,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 47, "runtime_id": 8 @@ -13445,7 +14234,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -13491,7 +14284,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -13529,13 +14326,19 @@ ] } ], - "events": [ [ "Assign", "X44 := []" ] ] + "events": [ + [ + "Assign", + "X44 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -13958,7 +14761,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -14004,7 +14811,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -14029,7 +14840,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -14043,11 +14858,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -14074,7 +14894,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -14120,7 +14944,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -14145,11 +14973,17 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "events": [ - [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A0 := elpi.loc" + ], [ "Fail", "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]" @@ -14173,7 +15007,10 @@ } ], "events": [ - [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A0 := elpi.loc" + ], [ "Fail", "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]" @@ -14197,7 +15034,10 @@ } ], "events": [ - [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A0 := elpi.loc" + ], [ "Fail", "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (node A1) | A2]" @@ -14221,7 +15061,10 @@ } ], "events": [ - [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A0 := elpi.loc" + ], [ "Fail", "unify\n [attribute elpi.loc \n (leaf-loc File \"(stdin)\", line 1, column 2, character 3:)] with\n [attribute elpi.loc (leaf-str A1) | A2]" @@ -14248,18 +15091,33 @@ } ], "events": [ - [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A0 := elpi.loc" + ], [ "Assign", "A1 := File \"(stdin)\", line 1, column 2, character 3:" ], - [ "Assign", "A2 := []" ], - [ "Assign", "A3 := " ], - [ "Assign", "A4 := X3" ] + [ + "Assign", + "A2 := []" + ], + [ + "Assign", + "A3 := " + ], + [ + "Assign", + "A4 := X3" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1174 }, + { + "goal_text": "!", + "goal_id": 1174 + }, { "goal_text": "if ( = ) (X45 = elpi.loc) (X45 is ^ . ^ elpi.loc)", "goal_id": 1175 @@ -14285,13 +15143,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -14300,7 +15162,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -14327,7 +15193,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -14373,7 +15243,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -14386,7 +15260,13 @@ { "step_id": 51, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1174, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1174, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -14418,19 +15298,35 @@ } ], "events": [ - [ "Assign", "A0 := = " ], - [ "Assign", "A1 := X45 = elpi.loc" ] + [ + "Assign", + "A0 := = " + ], + [ + "Assign", + "A1 := X45 = elpi.loc" + ] ] }, "siblings": [ - { "goal_text": " = ", "goal_id": 1180 }, - { "goal_text": "!", "goal_id": 1181 }, - { "goal_text": "X45 = elpi.loc", "goal_id": 1182 } + { + "goal_text": " = ", + "goal_id": 1180 + }, + { + "goal_text": "!", + "goal_id": 1181 + }, + { + "goal_text": "X45 = elpi.loc", + "goal_id": 1182 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -14456,7 +15352,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -14465,7 +15364,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -14492,7 +15395,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -14538,7 +15445,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -14563,7 +15474,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -14572,10 +15487,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 53, "runtime_id": 8 @@ -14604,7 +15525,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -14613,7 +15537,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -14640,7 +15568,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -14686,7 +15618,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -14742,19 +15678,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X45 := elpi.loc" ] ] + "events": [ + [ + "Assign", + "X45 := elpi.loc" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 55, "runtime_id": 8 @@ -14783,7 +15734,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -14792,7 +15746,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -14819,7 +15777,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -14865,7 +15827,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -14904,12 +15870,18 @@ } ], "events": [ - [ "Assign", "A0 := elpi.loc" ], + [ + "Assign", + "A0 := elpi.loc" + ], [ "Assign", "A1 := File \"(stdin)\", line 1, column 2, character 3:" ], - [ "Assign", "A2 := X46" ] + [ + "Assign", + "A2 := X46" + ] ] }, "siblings": [ @@ -14922,6 +15894,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -14947,7 +15920,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -14956,7 +15932,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -14983,7 +15963,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -15029,7 +16013,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -15068,7 +16056,10 @@ } ], "events": [ - [ "Assign", "A0 := supported-attribute (att elpi.loc loc)" ], + [ + "Assign", + "A0 := supported-attribute (att elpi.loc loc)" + ], [ "Assign", "A1 := if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)" @@ -15080,7 +16071,10 @@ "goal_text": "supported-attribute (att elpi.loc loc)", "goal_id": 1184 }, - { "goal_text": "!", "goal_id": 1185 }, + { + "goal_text": "!", + "goal_id": 1185 + }, { "goal_text": "if (primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t) \n (X46 = 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 = error X50)", "goal_id": 1186 @@ -15090,6 +16084,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -15134,7 +16129,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -15143,7 +16141,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -15170,7 +16172,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -15216,7 +16222,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -15241,11 +16251,17 @@ "UserRule", { "rule_text": "(supported-attribute (att verbose bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att verbose bool" ] + [ + "Fail", + "unify att elpi.loc loc with att verbose bool" + ] ] }, { @@ -15253,11 +16269,17 @@ "UserRule", { "rule_text": "(supported-attribute (att mathcomp bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att mathcomp bool" ] + [ + "Fail", + "unify att elpi.loc loc with att mathcomp bool" + ] ] }, { @@ -15265,7 +16287,10 @@ "UserRule", { "rule_text": "(supported-attribute (att mathcomp.axiom string)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ @@ -15280,11 +16305,17 @@ "UserRule", { "rule_text": "(supported-attribute (att short.type string)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att short.type string" ] + [ + "Fail", + "unify att elpi.loc loc with att short.type string" + ] ] }, { @@ -15292,11 +16323,17 @@ "UserRule", { "rule_text": "(supported-attribute (att short.pack string)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att short.pack string" ] + [ + "Fail", + "unify att elpi.loc loc with att short.pack string" + ] ] }, { @@ -15304,11 +16341,17 @@ "UserRule", { "rule_text": "(supported-attribute (att infer attmap)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att infer attmap" ] + [ + "Fail", + "unify att elpi.loc loc with att infer attmap" + ] ] }, { @@ -15316,11 +16359,17 @@ "UserRule", { "rule_text": "(supported-attribute (att key string)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att key string" ] + [ + "Fail", + "unify att elpi.loc loc with att key string" + ] ] }, { @@ -15328,11 +16377,17 @@ "UserRule", { "rule_text": "(supported-attribute (att arg_sort bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att arg_sort bool" ] + [ + "Fail", + "unify att elpi.loc loc with att arg_sort bool" + ] ] }, { @@ -15340,11 +16395,17 @@ "UserRule", { "rule_text": "(supported-attribute (att log bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att log bool" ] + [ + "Fail", + "unify att elpi.loc loc with att log bool" + ] ] }, { @@ -15352,11 +16413,17 @@ "UserRule", { "rule_text": "(supported-attribute (att log.raw bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att log.raw bool" ] + [ + "Fail", + "unify att elpi.loc loc with att log.raw bool" + ] ] }, { @@ -15364,7 +16431,10 @@ "UserRule", { "rule_text": "(supported-attribute (att compress_coercions bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ @@ -15379,11 +16449,17 @@ "UserRule", { "rule_text": "(supported-attribute (att export bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att export bool" ] + [ + "Fail", + "unify att elpi.loc loc with att export bool" + ] ] }, { @@ -15391,11 +16467,17 @@ "UserRule", { "rule_text": "(supported-attribute (att skip string)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att skip string" ] + [ + "Fail", + "unify att elpi.loc loc with att skip string" + ] ] }, { @@ -15403,11 +16485,17 @@ "UserRule", { "rule_text": "(supported-attribute (att local bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att local bool" ] + [ + "Fail", + "unify att elpi.loc loc with att local bool" + ] ] }, { @@ -15415,11 +16503,17 @@ "UserRule", { "rule_text": "(supported-attribute (att fail bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att fail bool" ] + [ + "Fail", + "unify att elpi.loc loc with att fail bool" + ] ] }, { @@ -15427,11 +16521,17 @@ "UserRule", { "rule_text": "(supported-attribute (att doc string)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att doc string" ] + [ + "Fail", + "unify att elpi.loc loc with att doc string" + ] ] }, { @@ -15439,7 +16539,10 @@ "UserRule", { "rule_text": "(supported-attribute (att primitive_class bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ @@ -15454,11 +16557,17 @@ "UserRule", { "rule_text": "(supported-attribute (att primitive bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att primitive bool" ] + [ + "Fail", + "unify att elpi.loc loc with att primitive bool" + ] ] }, { @@ -15466,7 +16575,10 @@ "UserRule", { "rule_text": "(supported-attribute (att non_forgetful_inheritance bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ @@ -15481,11 +16593,17 @@ "UserRule", { "rule_text": "(supported-attribute (att hnf bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "events": [ - [ "Fail", "unify att elpi.loc loc with att hnf bool" ] + [ + "Fail", + "unify att elpi.loc loc with att hnf bool" + ] ] } ], @@ -15514,13 +16632,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(supported-attribute (att verbose bool)) :- .", - "rule_loc": [ "Context", 49 ] + "rule_loc": [ + "Context", + 49 + ] } ], "step_id": 58, @@ -15569,7 +16691,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -15578,7 +16703,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -15605,7 +16734,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -15651,7 +16784,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -15743,7 +16880,10 @@ "Assign", "A0 := primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t" ], - [ "Assign", "A1 := X46 = ok" ] + [ + "Assign", + "A1 := X46 = ok" + ] ] }, "siblings": [ @@ -15751,13 +16891,20 @@ "goal_text": "primitive? File \"(stdin)\", line 1, column 2, character 3: Loc.t", "goal_id": 1187 }, - { "goal_text": "!", "goal_id": 1188 }, - { "goal_text": "X46 = ok", "goal_id": 1189 } + { + "goal_text": "!", + "goal_id": 1188 + }, + { + "goal_text": "X46 = ok", + "goal_id": 1189 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -15821,7 +16968,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -15830,7 +16980,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -15857,7 +17011,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -15903,7 +17061,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -15946,7 +17108,10 @@ "Assign", "A0 := File \"(stdin)\", line 1, column 2, character 3:" ], - [ "Assign", "A1 := Loc.t" ] + [ + "Assign", + "A1 := Loc.t" + ] ] }, "siblings": [ @@ -15959,6 +17124,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -16041,7 +17207,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -16050,7 +17219,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -16077,7 +17250,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -16123,7 +17300,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -16148,22 +17329,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "is_cdata", "kind": "FFI", "payload": [] } + { + "name": "is_cdata", + "kind": "FFI", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "ctype Loc.t = ctype Loc.t", "goal_id": 1191 } + { + "goal_text": "ctype Loc.t = ctype Loc.t", + "goal_id": 1191 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "is_cdata", "kind": "FFI", "payload": [] } + { + "name": "is_cdata", + "kind": "FFI", + "payload": [] + } ], "step_id": 62, "runtime_id": 8 @@ -16249,7 +17442,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -16258,7 +17454,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -16285,7 +17485,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -16331,7 +17535,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -16356,7 +17564,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -16365,10 +17577,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 63, "runtime_id": 8 @@ -16376,7 +17594,11 @@ { "rule": [ "BuiltinRule", - { "name": "is_cdata", "kind": "FFI", "payload": [] } + { + "name": "is_cdata", + "kind": "FFI", + "payload": [] + } ], "step_id": 62, "runtime_id": 8 @@ -16462,7 +17684,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -16471,7 +17696,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -16498,7 +17727,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -16544,7 +17777,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -16600,19 +17837,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X46 := ok" ] ] + "events": [ + [ + "Assign", + "X46 := ok" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 65, "runtime_id": 8 @@ -16679,7 +17931,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -16688,7 +17943,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -16715,7 +17974,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -16761,7 +18024,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -16800,19 +18067,37 @@ } ], "events": [ - [ "Assign", "A0 := ok = error X47" ], - [ "Assign", "A1 := coq.error X47" ] + [ + "Assign", + "A0 := ok = error X47" + ], + [ + "Assign", + "A1 := coq.error X47" + ] ] }, "siblings": [ - { "goal_text": "ok = error X47", "goal_id": 1192 }, - { "goal_text": "!", "goal_id": 1193 }, - { "goal_text": "coq.error X47", "goal_id": 1194 } + { + "goal_text": "ok = error X47", + "goal_id": 1192 + }, + { + "goal_text": "!", + "goal_id": 1193 + }, + { + "goal_text": "coq.error X47", + "goal_id": 1194 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 68 ], + "more_successful_attempts": [ + 68 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -16838,7 +18123,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -16847,7 +18135,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -16874,7 +18166,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -16920,7 +18216,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -16942,17 +18242,33 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Fail", "unify ok with error X47" ] ] + "events": [ + [ + "Fail", + "unify ok with error X47" + ] + ] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 67, "runtime_id": 8 @@ -16981,7 +18297,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -16990,7 +18309,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -17017,7 +18340,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -17063,7 +18390,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17101,13 +18432,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1195 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1195 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -17133,7 +18475,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -17142,7 +18487,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -17169,7 +18518,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -17215,7 +18568,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17260,6 +18617,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -17304,7 +18662,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -17313,7 +18674,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -17340,7 +18705,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -17386,7 +18755,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17411,7 +18784,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -17425,10 +18802,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 70, "runtime_id": 8 @@ -17438,7 +18821,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -17447,7 +18833,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -17474,7 +18864,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -17520,7 +18914,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17558,13 +18956,19 @@ ] } ], - "events": [ [ "Assign", "X48 := []" ] ] + "events": [ + [ + "Assign", + "X48 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -17590,7 +18994,10 @@ "UserRule", { "rule_text": "(parse-attributes.aux [attribute A0 (node A1) | A2] A3 A4) :- (if (A3 = ) \n (A7 = 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) :- !)) =>\n parse-attributes.aux A1 A6), (std.append A5 [get-option A7 A6] A4).", - "rule_loc": [ "Context", 6 ] + "rule_loc": [ + "Context", + 6 + ] } ], "step_id": 50, @@ -17599,7 +19006,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 49, "runtime_id": 8 @@ -17626,7 +19037,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 8 @@ -17672,7 +19087,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17685,13 +19104,25 @@ { "step_id": 72, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1132, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1132, + "cut_victims": [] + } + ], "color": "Grey" }, { "step_id": 73, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1127, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1127, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -17709,7 +19140,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -17723,11 +19158,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -17773,7 +19213,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17798,12 +19242,19 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "save-docstring", "goal_id": 1197 }, + { + "goal_text": "save-docstring", + "goal_id": 1197 + }, { "goal_text": "with-logging\n (instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _)", "goal_id": 1198 @@ -17813,11 +19264,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -17825,7 +19281,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -17871,7 +19331,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -17921,6 +19385,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -17944,7 +19409,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -17952,7 +19421,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -17998,7 +19471,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18041,7 +19518,10 @@ "Assign", "A0 := get-option elpi.loc X52 , get-option doc X53" ], - [ "Assign", "A1 := acc-clause _ (docstring X52 X53)" ] + [ + "Assign", + "A1 := acc-clause _ (docstring X52 X53)" + ] ] }, "siblings": [ @@ -18049,7 +19529,10 @@ "goal_text": "get-option elpi.loc X52 , get-option doc X53", "goal_id": 1200 }, - { "goal_text": "!", "goal_id": 1201 }, + { + "goal_text": "!", + "goal_id": 1201 + }, { "goal_text": "acc-clause _ (docstring X52 X53)", "goal_id": 1202 @@ -18058,7 +19541,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 81 ], + "more_successful_attempts": [ + 81 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -18101,7 +19587,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18109,7 +19599,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -18155,7 +19649,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18180,23 +19678,38 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "get-option elpi.loc X52", "goal_id": 1203 }, - { "goal_text": "get-option doc X53", "goal_id": 1204 } + { + "goal_text": "get-option elpi.loc X52", + "goal_id": 1203 + }, + { + "goal_text": "get-option doc X53", + "goal_id": 1204 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 78, "runtime_id": 8 @@ -18242,7 +19755,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18250,7 +19767,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -18296,7 +19817,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18323,7 +19848,10 @@ "UserRule", { "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", - "rule_loc": [ "Context", 74 ] + "rule_loc": [ + "Context", + 74 + ] } ], "events": [ @@ -18338,13 +19866,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", - "rule_loc": [ "Context", 74 ] + "rule_loc": [ + "Context", + 74 + ] } ], "step_id": 79, @@ -18353,7 +19885,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 78, "runtime_id": 8 @@ -18399,7 +19935,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18407,7 +19947,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -18453,7 +19997,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18475,11 +20023,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 78, "runtime_id": 8 @@ -18525,7 +20078,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18533,7 +20090,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -18579,7 +20140,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18617,13 +20182,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1205 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1205 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -18666,7 +20242,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18674,7 +20254,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -18720,7 +20304,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18765,6 +20353,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -18826,7 +20415,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18834,7 +20427,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -18880,7 +20477,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -18930,18 +20531,42 @@ "goal_text": "get-option elpi.hb.log _ , X54 = tt ; get-option elpi.hb.log.raw _ , X54 = ff", "goal_id": 1206 }, - { "goal_text": "!", "goal_id": 1207 }, - { "goal_text": "get-option elpi.loc X55", "goal_id": 1208 }, - { "goal_text": "loc.fields X55 X56 _ _ _ _", "goal_id": 1209 }, - { "goal_text": "std.any->string X55 X57", "goal_id": 1210 }, - { "goal_text": "X58 is X56 ^ .hb", "goal_id": 1211 }, - { "goal_text": "open_append X58 X59", "goal_id": 1212 }, + { + "goal_text": "!", + "goal_id": 1207 + }, + { + "goal_text": "get-option elpi.loc X55", + "goal_id": 1208 + }, + { + "goal_text": "loc.fields X55 X56 _ _ _ _", + "goal_id": 1209 + }, + { + "goal_text": "std.any->string X55 X57", + "goal_id": 1210 + }, + { + "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_id": 1213 }, - { "goal_text": "output X59 X60", "goal_id": 1214 }, - { "goal_text": "close_out X59", "goal_id": 1215 }, + { + "goal_text": "output X59 X60", + "goal_id": 1214 + }, + { + "goal_text": "close_out X59", + "goal_id": 1215 + }, { "goal_text": "log.private.logger X61 X54 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _", "goal_id": 1216 @@ -18958,14 +20583,27 @@ "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 }, - { "goal_text": "output X64 X63", "goal_id": 1221 }, - { "goal_text": "close_out X64", "goal_id": 1222 } + { + "goal_text": "open_append X58 X64", + "goal_id": 1220 + }, + { + "goal_text": "output X64 X63", + "goal_id": 1221 + }, + { + "goal_text": "close_out X64", + "goal_id": 1222 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 90, 97 ], + "more_successful_attempts": [ + 90, + 97 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -18989,7 +20627,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -18997,7 +20639,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19043,7 +20689,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19082,7 +20732,10 @@ } ], "events": [ - [ "Assign", "A0 := get-option elpi.hb.log _ , X54 = tt" ] + [ + "Assign", + "A0 := get-option elpi.hb.log _ , X54 = tt" + ] ] }, "siblings": [ @@ -19094,7 +20747,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 87 ], + "more_successful_attempts": [ + 87 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -19137,7 +20793,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19145,7 +20805,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19191,7 +20855,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19216,23 +20884,38 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "get-option elpi.hb.log _", "goal_id": 1224 }, - { "goal_text": "X54 = tt", "goal_id": 1225 } + { + "goal_text": "get-option elpi.hb.log _", + "goal_id": 1224 + }, + { + "goal_text": "X54 = tt", + "goal_id": 1225 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 85, "runtime_id": 8 @@ -19278,7 +20961,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19286,7 +20973,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19332,7 +21023,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19354,11 +21049,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 85, "runtime_id": 8 @@ -19404,7 +21104,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19412,7 +21116,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19458,7 +21166,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19497,7 +21209,10 @@ } ], "events": [ - [ "Assign", "A0 := get-option elpi.hb.log.raw _ , X54 = ff" ] + [ + "Assign", + "A0 := get-option elpi.hb.log.raw _ , X54 = ff" + ] ] }, "siblings": [ @@ -19510,6 +21225,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -19552,7 +21268,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19560,7 +21280,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19606,7 +21330,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19631,7 +21359,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -19640,17 +21372,25 @@ "goal_text": "get-option elpi.hb.log.raw _", "goal_id": 1227 }, - { "goal_text": "X54 = ff", "goal_id": 1228 } + { + "goal_text": "X54 = ff", + "goal_id": 1228 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 88, "runtime_id": 8 @@ -19696,7 +21436,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19704,7 +21448,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19750,7 +21498,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19772,11 +21524,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 88, "runtime_id": 8 @@ -19822,7 +21579,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19830,7 +21591,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -19876,7 +21641,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -19926,7 +21695,10 @@ "goal_text": "get-option log tt , X65 = tt ; get-option log.raw tt , X65 = ff", "goal_id": 1229 }, - { "goal_text": "!", "goal_id": 1230 }, + { + "goal_text": "!", + "goal_id": 1230 + }, { "goal_text": "log.private.logger X66 X65 =>\n instance.declare-const _ \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (arity X1) _", "goal_id": 1231 @@ -19943,12 +21715,18 @@ "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 } + { + "goal_text": "coq.say (* \n X68 \n*)", + "goal_id": 1235 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 97 ], + "more_successful_attempts": [ + 97 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -19972,7 +21750,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -19980,7 +21762,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20026,7 +21812,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20065,7 +21855,10 @@ } ], "events": [ - [ "Assign", "A0 := get-option log tt , X65 = tt" ] + [ + "Assign", + "A0 := get-option log tt , X65 = tt" + ] ] }, "siblings": [ @@ -20077,7 +21870,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 94 ], + "more_successful_attempts": [ + 94 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -20120,7 +21916,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20128,7 +21928,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20174,7 +21978,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20199,23 +22007,38 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "get-option log tt", "goal_id": 1237 }, - { "goal_text": "X65 = tt", "goal_id": 1238 } + { + "goal_text": "get-option log tt", + "goal_id": 1237 + }, + { + "goal_text": "X65 = tt", + "goal_id": 1238 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 92, "runtime_id": 8 @@ -20261,7 +22084,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20269,7 +22096,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20315,7 +22146,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20337,11 +22172,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 92, "runtime_id": 8 @@ -20387,7 +22227,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20395,7 +22239,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20441,7 +22289,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20480,7 +22332,10 @@ } ], "events": [ - [ "Assign", "A0 := get-option log.raw tt , X65 = ff" ] + [ + "Assign", + "A0 := get-option log.raw tt , X65 = ff" + ] ] }, "siblings": [ @@ -20493,6 +22348,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -20535,7 +22391,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20543,7 +22403,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20589,7 +22453,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20614,23 +22482,38 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "get-option log.raw tt", "goal_id": 1240 }, - { "goal_text": "X65 = ff", "goal_id": 1241 } + { + "goal_text": "get-option log.raw tt", + "goal_id": 1240 + }, + { + "goal_text": "X65 = ff", + "goal_id": 1241 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 95, "runtime_id": 8 @@ -20676,7 +22559,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20684,7 +22571,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20730,7 +22621,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20752,11 +22647,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 95, "runtime_id": 8 @@ -20802,7 +22702,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20810,7 +22714,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20856,7 +22764,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -20911,6 +22823,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -20934,7 +22847,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -20942,7 +22859,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -20988,7 +22909,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -21027,12 +22952,18 @@ } ], "events": [ - [ "Assign", "A0 := _" ], + [ + "Assign", + "A0 := _" + ], [ "Assign", "A1 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]" ], - [ "Assign", "A2 := arity X1" ] + [ + "Assign", + "A2 := arity X1" + ] ] }, "siblings": [ @@ -21045,6 +22976,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -21087,7 +23019,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -21095,7 +23031,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -21141,7 +23081,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -21195,7 +23139,10 @@ "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": "!", + "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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (X69 = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (X69 = 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": 1246 @@ -21205,6 +23152,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -21266,7 +23214,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -21274,7 +23226,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -21320,7 +23276,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -21363,7 +23323,10 @@ "Assign", "A0 := coq.elaborate-arity-skeleton (arity X1) _ X69" ], - [ "Assign", "A1 := Definition type illtyped" ] + [ + "Assign", + "A1 := Definition type illtyped" + ] ] }, "siblings": [ @@ -21371,17 +23334,24 @@ "goal_text": "coq.elaborate-arity-skeleton (arity X1) _ X69 X92", "goal_id": 1247 }, - { "goal_text": "!", "goal_id": 1248 }, + { + "goal_text": "!", + "goal_id": 1248 + }, { "goal_text": "X92 = ok ;\n X92 = error X93 , std.fatal-error-w-data Definition type illtyped X93", "goal_id": 1249 }, - { "goal_text": "!", "goal_id": 1250 } + { + "goal_text": "!", + "goal_id": 1250 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -21462,7 +23432,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -21470,7 +23444,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -21516,7 +23494,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -21555,9 +23537,18 @@ } ], "events": [ - [ "Assign", "A0 := X1" ], - [ "Assign", "X69 := arity X94" ], - [ "Assign", "A3 := X92" ] + [ + "Assign", + "A0 := X1" + ], + [ + "Assign", + "X69 := arity X94" + ], + [ + "Assign", + "A3 := X92" + ] ] }, "siblings": [ @@ -21570,6 +23561,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -21669,7 +23661,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -21677,7 +23673,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -21723,7 +23723,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -21761,17 +23765,24 @@ "goal_text": "X95 = typ «interleave_context.403»", "goal_id": 1252 }, - { "goal_text": "X94 = X96", "goal_id": 1253 }, + { + "goal_text": "X94 = X96", + "goal_id": 1253 + }, { "goal_text": "declare-evar [] (X97) (sort (typ «interleave_context.403»)) (X96)", "goal_id": 1254 }, - { "goal_text": "X92 = ok", "goal_id": 1255 } + { + "goal_text": "X92 = ok", + "goal_id": 1255 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -21883,7 +23894,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -21891,7 +23906,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -21937,7 +23956,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -21962,10 +23985,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X95 := typ «interleave_context.403»" ] + [ + "Assign", + "X95 := typ «interleave_context.403»" + ] ] }, "siblings": [], @@ -21973,10 +24003,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 103, "runtime_id": 8 @@ -22091,7 +24127,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -22099,7 +24139,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -22145,7 +24189,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -22170,19 +24218,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X94 := X96" ] ] + "events": [ + [ + "Assign", + "X94 := X96" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 104, "runtime_id": 8 @@ -22297,7 +24360,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -22305,7 +24372,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -22351,7 +24422,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -22390,10 +24465,22 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := X97" ], - [ "Assign", "A2 := sort (typ «interleave_context.403»)" ], - [ "Assign", "A3 := X96" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := X97" + ], + [ + "Assign", + "A2 := sort (typ «interleave_context.403»)" + ], + [ + "Assign", + "A3 := X96" + ] ] }, "siblings": [ @@ -22406,6 +24493,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -22536,7 +24624,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -22544,7 +24636,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -22590,7 +24686,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -22616,7 +24716,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 106, "runtime_id": 8 @@ -22750,7 +24854,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -22758,7 +24866,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -22804,7 +24916,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -22836,7 +24952,11 @@ "step_id": 0, "runtime_id": 9, "step": [ - "Init", { "goal_text": "true", "goal_id": 1259 } + "Init", + { + "goal_text": "true", + "goal_id": 1259 + } ], "color": "Grey" }, @@ -22875,6 +24995,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -22902,7 +25023,9 @@ } ] }, - "chr_removed_goals": [ 1257 ], + "chr_removed_goals": [ + 1257 + ], "chr_new_goals": [] } ], @@ -22932,7 +25055,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -22946,11 +25073,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -22975,7 +25107,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -22989,11 +25125,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -23001,7 +25142,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -23040,13 +25185,25 @@ } ], "events": [ - [ "Assign", "A0 := X97" ], - [ "Assign", "A1 := sort (typ «interleave_context.403»)" ], - [ "Assign", "A2 := X96" ] + [ + "Assign", + "A0 := X97" + ], + [ + "Assign", + "A1 := sort (typ «interleave_context.403»)" + ], + [ + "Assign", + "A2 := X96" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1263 }, + { + "goal_text": "!", + "goal_id": 1263 + }, { "goal_text": "if (var X96) \n (declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]) true", "goal_id": 1264 @@ -23056,6 +25213,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -23079,7 +25237,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -23087,7 +25249,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -23157,7 +25323,10 @@ } ], "events": [ - [ "Assign", "A0 := var X96" ], + [ + "Assign", + "A0 := var X96" + ], [ "Assign", "A1 := declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) X96) [X97, X96]" @@ -23165,8 +25334,14 @@ ] }, "siblings": [ - { "goal_text": "var X96", "goal_id": 1265 }, - { "goal_text": "!", "goal_id": 1266 }, + { + "goal_text": "var X96", + "goal_id": 1265 + }, + { + "goal_text": "!", + "goal_id": 1266 + }, { "goal_text": "declare_constraint (evar X97 (sort (typ «interleave_context.403»)) X96) \n [X97, X96]", "goal_id": 1267 @@ -23176,6 +25351,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -23218,7 +25394,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -23226,7 +25406,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -23251,7 +25435,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "var", "kind": "FFI", "payload": [] } + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -23260,10 +25448,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "step_id": 113, "runtime_id": 8 @@ -23309,7 +25503,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -23317,7 +25515,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -23374,7 +25576,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 115, "runtime_id": 8 @@ -23420,7 +25626,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -23428,7 +25638,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -23453,19 +25667,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X92 := ok" ] ] + "events": [ + [ + "Assign", + "X92 := ok" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 116, "runtime_id": 8 @@ -23580,7 +25809,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -23588,7 +25821,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -23634,7 +25871,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -23703,13 +25944,24 @@ ] } ], - "events": [ [ "Assign", "A0 := ok = ok" ] ] + "events": [ + [ + "Assign", + "A0 := ok = ok" + ] + ] }, - "siblings": [ { "goal_text": "ok = ok", "goal_id": 1269 } ], + "siblings": [ + { + "goal_text": "ok = ok", + "goal_id": 1269 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -23809,7 +26061,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -23817,7 +26073,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -23863,7 +26123,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -23888,7 +26152,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -23897,10 +26165,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 119, "runtime_id": 8 @@ -24003,7 +26277,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -24011,7 +26289,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -24057,7 +26339,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -24101,7 +26387,13 @@ { "step_id": 121, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1245, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1245, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -24133,7 +26425,10 @@ } ], "events": [ - [ "Assign", "A0 := coq.arity->term (arity (X96)) X70" ], + [ + "Assign", + "A0 := coq.arity->term (arity (X96)) X70" + ], [ "Assign", "A1 := [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = X71) \n (,\n (, (new_int X74) (std.any->string X74 X75) \n (X76 is hb_instance_ ^ X75)) (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 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 X73 X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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]" @@ -24145,7 +26440,10 @@ "goal_text": "coq.arity->term (arity (X96)) X70", "goal_id": 1270 }, - { "goal_text": "!", "goal_id": 1271 }, + { + "goal_text": "!", + "goal_id": 1271 + }, { "goal_text": "std.do!\n [std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) X70 X71) \n Definition illtyped, \n if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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": 1272 @@ -24155,6 +26453,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -24235,7 +26534,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -24243,7 +26546,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -24289,7 +26596,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -24328,7 +26639,14 @@ } ], "events": [ - [ "Assign", "A0 := X96" ], [ "Assign", "X70 := X96" ] + [ + "Assign", + "A0 := X96" + ], + [ + "Assign", + "X70 := X96" + ] ] }, "siblings": [], @@ -24336,6 +26654,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -24435,7 +26754,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -24443,7 +26766,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -24489,7 +26816,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -24502,7 +26833,13 @@ { "step_id": 124, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1271, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1271, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -24549,7 +26886,10 @@ "goal_text": "std.assert-ok!\n (coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71) \n Definition illtyped", "goal_id": 1273 }, - { "goal_text": "!", "goal_id": 1274 }, + { + "goal_text": "!", + "goal_id": 1274 + }, { "goal_text": "std.do!\n [if (arity (X96) = arity X72) \n (if-verbose (coq.say HB: skipping section opening) , X73 = 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 (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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 (arity (X96) = 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 @@ -24559,6 +26899,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -24658,7 +26999,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -24666,7 +27011,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -24712,7 +27061,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -24755,7 +27108,10 @@ "Assign", "A0 := coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71" ], - [ "Assign", "A1 := Definition illtyped" ] + [ + "Assign", + "A1 := Definition illtyped" + ] ] }, "siblings": [ @@ -24763,17 +27119,24 @@ "goal_text": "coq.elaborate-skeleton\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` X0 c0 \\ c0]) (X96) X71 X98", "goal_id": 1276 }, - { "goal_text": "!", "goal_id": 1277 }, + { + "goal_text": "!", + "goal_id": 1277 + }, { "goal_text": "X98 = ok ; X98 = error X99 , std.fatal-error-w-data Definition illtyped X99", "goal_id": 1278 }, - { "goal_text": "!", "goal_id": 1279 } + { + "goal_text": "!", + "goal_id": 1279 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -24892,7 +27255,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -24900,7 +27267,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -24946,7 +27317,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -24988,12 +27363,16 @@ "goal_text": "X71 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", "goal_id": 1281 }, - { "goal_text": "X98 = ok", "goal_id": 1282 } + { + "goal_text": "X98 = ok", + "goal_id": 1282 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -25124,7 +27503,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -25132,7 +27515,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -25178,7 +27565,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -25203,14 +27594,23 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ "Assign", "X96 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" ], - [ "ResumeGoal", [ 1268 ] ] + [ + "ResumeGoal", + [ + 1268 + ] + ] ] }, "siblings": [], @@ -25218,10 +27618,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 128, "runtime_id": 8 @@ -25355,7 +27761,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -25363,7 +27773,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -25409,7 +27823,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -25462,8 +27880,14 @@ } ], "events": [ - [ "Assign", "A0 := X97" ], - [ "Assign", "A1 := sort (typ «interleave_context.403»)" ], + [ + "Assign", + "A0 := X97" + ], + [ + "Assign", + "A1 := sort (typ «interleave_context.403»)" + ], [ "Assign", "A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" @@ -25471,7 +27895,10 @@ ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1283 }, + { + "goal_text": "!", + "goal_id": 1283 + }, { "goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]) \n true", "goal_id": 1284 @@ -25481,6 +27908,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -25504,7 +27932,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 129, "runtime_id": 8 @@ -25512,7 +27944,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 115, "runtime_id": 8 @@ -25558,7 +27994,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -25566,7 +28006,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -25651,7 +28095,10 @@ "goal_text": "var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", "goal_id": 1285 }, - { "goal_text": "!", "goal_id": 1286 }, + { + "goal_text": "!", + "goal_id": 1286 + }, { "goal_text": "declare_constraint\n (evar X97 (sort (typ «interleave_context.403»)) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [X97, app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]]", "goal_id": 1287 @@ -25660,7 +28107,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 134 ], + "more_successful_attempts": [ + 134 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -25703,7 +28153,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 129, "runtime_id": 8 @@ -25711,7 +28165,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 115, "runtime_id": 8 @@ -25757,7 +28215,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -25765,7 +28227,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -25787,17 +28253,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "step_id": 133, "runtime_id": 8 @@ -25843,7 +28320,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 129, "runtime_id": 8 @@ -25851,7 +28332,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 115, "runtime_id": 8 @@ -25897,7 +28382,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -25905,7 +28394,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -25943,13 +28436,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1288 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1288 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -25992,7 +28496,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 129, "runtime_id": 8 @@ -26000,7 +28508,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 115, "runtime_id": 8 @@ -26046,7 +28558,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -26054,7 +28570,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -26099,6 +28619,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -26160,7 +28681,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 129, "runtime_id": 8 @@ -26168,7 +28693,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 115, "runtime_id": 8 @@ -26214,7 +28743,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 109, "runtime_id": 8 @@ -26222,7 +28755,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 108, "runtime_id": 8 @@ -26247,7 +28784,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -26261,10 +28802,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 136, "runtime_id": 8 @@ -26398,7 +28945,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -26406,7 +28957,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -26452,7 +29007,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -26477,19 +29036,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X98 := ok" ] ] + "events": [ + [ + "Assign", + "X98 := ok" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 137, "runtime_id": 8 @@ -26623,7 +29197,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -26631,7 +29209,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -26677,7 +29259,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -26746,13 +29332,24 @@ ] } ], - "events": [ [ "Assign", "A0 := ok = ok" ] ] + "events": [ + [ + "Assign", + "A0 := ok = ok" + ] + ] }, - "siblings": [ { "goal_text": "ok = ok", "goal_id": 1289 } ], + "siblings": [ + { + "goal_text": "ok = ok", + "goal_id": 1289 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -26890,7 +29487,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -26898,7 +29499,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -26944,7 +29549,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -26969,7 +29578,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -26978,10 +29591,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 140, "runtime_id": 8 @@ -27122,7 +29741,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -27130,7 +29753,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -27176,7 +29803,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -27220,7 +29851,13 @@ { "step_id": 142, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1274, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1274, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -27267,7 +29904,10 @@ "goal_text": "if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72) \n (if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \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\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n [] \n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X73 \n X72))", "goal_id": 1290 }, - { "goal_text": "!", "goal_id": 1291 }, + { + "goal_text": "!", + "goal_id": 1291 + }, { "goal_text": "std.do!\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 (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 X72 ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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 @@ -27277,6 +29917,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -27395,7 +30036,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -27403,7 +30048,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -27449,7 +30098,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -27503,7 +30156,10 @@ "goal_text": "arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\n arity X72", "goal_id": 1293 }, - { "goal_text": "!", "goal_id": 1294 }, + { + "goal_text": "!", + "goal_id": 1294 + }, { "goal_text": "if-verbose (coq.say HB: skipping section opening) ,\n X73 =\n app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]", "goal_id": 1295 @@ -27513,6 +30169,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -27650,7 +30307,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -27658,7 +30319,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -27704,7 +30369,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -27729,7 +30398,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -27743,10 +30416,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 145, "runtime_id": 8 @@ -27887,7 +30566,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -27895,7 +30578,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -27941,7 +30628,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -27997,7 +30688,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -28015,11 +30710,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 147, "runtime_id": 8 @@ -28160,7 +30860,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -28168,7 +30872,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -28214,7 +30922,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -28253,12 +30965,21 @@ } ], "events": [ - [ "Assign", "A0 := coq.say HB: skipping section opening" ] + [ + "Assign", + "A0 := coq.say HB: skipping section opening" + ] ] }, "siblings": [ - { "goal_text": "get-option verbose tt", "goal_id": 1298 }, - { "goal_text": "!", "goal_id": 1299 }, + { + "goal_text": "get-option verbose tt", + "goal_id": 1298 + }, + { + "goal_text": "!", + "goal_id": 1299 + }, { "goal_text": "coq.say HB: skipping section opening", "goal_id": 1300 @@ -28267,7 +30988,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 150 ], + "more_successful_attempts": [ + 150 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -28291,7 +31015,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 147, "runtime_id": 8 @@ -28432,7 +31160,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -28440,7 +31172,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -28486,7 +31222,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -28508,6 +31248,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -28531,7 +31272,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 147, "runtime_id": 8 @@ -28672,7 +31417,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -28680,7 +31429,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -28726,7 +31479,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -28771,6 +31528,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -28794,7 +31552,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 147, "runtime_id": 8 @@ -28935,7 +31697,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -28943,7 +31709,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -28989,7 +31759,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -29014,7 +31788,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -29028,10 +31806,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 151, "runtime_id": 8 @@ -29039,7 +31823,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 147, "runtime_id": 8 @@ -29180,7 +31968,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -29188,7 +31980,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -29234,7 +32030,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -29247,7 +32047,13 @@ { "step_id": 152, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1291, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1291, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -29294,7 +32100,10 @@ "goal_text": "std.assert!\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78) The type of the instance is not a factory", "goal_id": 1301 }, - { "goal_text": "!", "goal_id": 1302 }, + { + "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.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = 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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1303 @@ -29304,6 +32113,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -29441,7 +32251,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -29449,7 +32263,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -29495,7 +32313,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -29539,7 +32361,8 @@ "A0 := coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78" ], [ - "Assign", "A1 := The type of the instance is not a factory" + "Assign", + "A1 := The type of the instance is not a factory" ] ] }, @@ -29548,12 +32371,16 @@ "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \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 «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global X77) X78)", "goal_id": 1304 }, - { "goal_text": "!", "goal_id": 1305 } + { + "goal_text": "!", + "goal_id": 1305 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -29710,7 +32537,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -29718,7 +32549,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -29764,7 +32599,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -29819,6 +32658,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -29994,7 +32834,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -30002,7 +32846,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -30048,7 +32896,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -30087,14 +32939,29 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "A1 := [global (indt «nat»)]" ], - [ "Assign", "A2 := global X77" ], - [ "Assign", "A3 := X78" ] + [ + "Assign", + "A0 := global (indt «IsSelfA'.axioms_»)" + ], + [ + "Assign", + "A1 := [global (indt «nat»)]" + ], + [ + "Assign", + "A2 := global X77" + ], + [ + "Assign", + "A3 := X78" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1307 }, + { + "goal_text": "!", + "goal_id": 1307 + }, { "goal_text": "coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global X77) X100", "goal_id": 1308 @@ -30108,6 +32975,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -30302,7 +33170,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -30310,7 +33182,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -30356,7 +33232,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -30426,9 +33306,18 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "X77 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "X100 := []" ] + [ + "Assign", + "A0 := global (indt «IsSelfA'.axioms_»)" + ], + [ + "Assign", + "X77 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "X100 := []" + ] ] }, "siblings": [], @@ -30436,6 +33325,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -30649,7 +33539,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -30657,7 +33551,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -30703,7 +33601,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -30742,8 +33644,14 @@ } ], "events": [ - [ "Assign", "A0 := [global (indt «nat»)]" ], - [ "Assign", "X78 := [global (indt «nat»)]" ] + [ + "Assign", + "A0 := [global (indt «nat»)]" + ], + [ + "Assign", + "X78 := [global (indt «nat»)]" + ] ] }, "siblings": [], @@ -30751,6 +33659,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -30964,7 +33873,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -30972,7 +33885,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -31018,7 +33935,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -31062,7 +33983,13 @@ { "step_id": 161, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1302, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1302, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -31109,7 +34036,10 @@ "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X79", "goal_id": 1310 }, - { "goal_text": "!", "goal_id": 1311 }, + { + "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 «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [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 «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1312 @@ -31119,6 +34049,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -31275,7 +34206,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -31283,7 +34218,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -31329,7 +34268,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -31368,8 +34311,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := X79" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := X79" + ] ] }, "siblings": [ @@ -31377,12 +34326,18 @@ "goal_text": "phant-abbrev X79 (indt «IsSelfA'.axioms_») _", "goal_id": 1313 }, - { "goal_text": "!", "goal_id": 1314 } + { + "goal_text": "!", + "goal_id": 1314 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 165 ], + "more_successful_attempts": [ + 165 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -31558,7 +34513,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -31566,7 +34525,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -31612,7 +34575,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -31649,7 +34616,10 @@ } ], "events": [ - [ "Assign", "X79 := indt «HasA.axioms_»" ], + [ + "Assign", + "X79 := indt «HasA.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»" @@ -31673,7 +34643,10 @@ } ], "events": [ - [ "Assign", "X79 := indc «HasA.Axioms_»" ], + [ + "Assign", + "X79 := indc «HasA.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»" @@ -31697,7 +34670,10 @@ } ], "events": [ - [ "Assign", "X79 := indt «HasB.axioms_»" ], + [ + "Assign", + "X79 := indt «HasB.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»" @@ -31721,7 +34697,10 @@ } ], "events": [ - [ "Assign", "X79 := indc «HasB.Axioms_»" ], + [ + "Assign", + "X79 := indc «HasB.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»" @@ -31745,7 +34724,10 @@ } ], "events": [ - [ "Assign", "X79 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X79 := indt «IsSelfA.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»" @@ -31769,7 +34751,10 @@ } ], "events": [ - [ "Assign", "X79 := indc «IsSelfA.Axioms_»" ], + [ + "Assign", + "X79 := indc «IsSelfA.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»" @@ -31793,7 +34778,10 @@ } ], "events": [ - [ "Assign", "X79 := indt «IsSelfA'.axioms_»" ], + [ + "Assign", + "X79 := indt «IsSelfA'.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»" @@ -31817,7 +34805,10 @@ } ], "events": [ - [ "Assign", "X79 := indc «IsSelfA'.Axioms_»" ], + [ + "Assign", + "X79 := indc «IsSelfA'.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»" @@ -31827,6 +34818,7 @@ ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -32021,7 +35013,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -32029,7 +35025,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -32075,7 +35075,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -32114,8 +35118,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "X79 := indt «IsSelfA'.axioms_»" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "X79 := indt «IsSelfA'.axioms_»" + ] ] }, "siblings": [ @@ -32123,12 +35133,16 @@ "goal_text": "phant-abbrev (indt «IsSelfA'.axioms_») _ _", "goal_id": 1315 }, - { "goal_text": "!", "goal_id": 1316 } + { + "goal_text": "!", + "goal_id": 1316 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -32304,7 +35318,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -32312,7 +35330,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -32358,7 +35380,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -32473,6 +35499,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -32667,7 +35694,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -32675,7 +35706,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -32721,7 +35756,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -32801,7 +35840,13 @@ { "step_id": 168, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1311, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1311, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -32848,7 +35893,10 @@ "goal_text": "std.assert! (factory-nparams (indt «IsSelfA'.axioms_») X80) \n Not a factory synthesized by HB", "goal_id": 1317 }, - { "goal_text": "!", "goal_id": 1318 }, + { + "goal_text": "!", + "goal_id": 1318 + }, { "goal_text": "std.do!\n [instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81, \n instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop X80 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1319 @@ -32858,6 +35906,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -33033,7 +36082,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -33041,7 +36094,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -33087,7 +36144,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -33130,7 +36191,10 @@ "Assign", "A0 := factory-nparams (indt «IsSelfA'.axioms_») X80" ], - [ "Assign", "A1 := Not a factory synthesized by HB" ] + [ + "Assign", + "A1 := Not a factory synthesized by HB" + ] ] }, "siblings": [ @@ -33138,12 +36202,16 @@ "goal_text": "factory-nparams (indt «IsSelfA'.axioms_») X80 ;\n std.fatal-error-w-data Not a factory synthesized by HB \n (factory-nparams (indt «IsSelfA'.axioms_») X80)", "goal_id": 1320 }, - { "goal_text": "!", "goal_id": 1321 } + { + "goal_text": "!", + "goal_id": 1321 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -33338,7 +36406,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -33346,7 +36418,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -33392,7 +36468,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -33447,6 +36527,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -33660,7 +36741,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -33668,7 +36753,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -33714,7 +36803,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -33775,7 +36868,8 @@ ], "events": [ [ - "Fail", "unify indt «IsSelfA'.axioms_» with indt «A.axioms_»" + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «A.axioms_»" ] ] }, @@ -33820,7 +36914,8 @@ ], "events": [ [ - "Fail", "unify indt «IsSelfA'.axioms_» with indt «B.axioms_»" + "Fail", + "unify indt «IsSelfA'.axioms_» with indt «B.axioms_»" ] ] }, @@ -33889,13 +36984,19 @@ ] } ], - "events": [ [ "Assign", "X80 := 0" ] ] + "events": [ + [ + "Assign", + "X80 := 0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -34128,7 +37229,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -34136,7 +37241,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -34182,7 +37291,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -34226,7 +37339,13 @@ { "step_id": 174, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1318, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1318, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -34273,7 +37392,10 @@ "goal_text": "instance.private.hack-section-discharging\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X81", "goal_id": 1323 }, - { "goal_text": "!", "goal_id": 1324 }, + { + "goal_text": "!", + "goal_id": 1324 + }, { "goal_text": "std.do!\n [instance.private.optimize-body X81 X82, \n if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1325 @@ -34283,6 +37405,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -34477,7 +37600,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -34485,7 +37612,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -34531,7 +37662,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -34581,13 +37716,23 @@ ] }, "siblings": [ - { "goal_text": "current-mode no-builder", "goal_id": 1326 }, - { "goal_text": "!", "goal_id": 1327 } + { + "goal_text": "current-mode no-builder", + "goal_id": 1326 + }, + { + "goal_text": "!", + "goal_id": 1327 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 178, 180 ], + "more_successful_attempts": [ + 178, + 180 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -34801,7 +37946,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -34809,7 +37958,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -34855,7 +38008,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -34877,6 +38034,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -35090,7 +38248,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -35098,7 +38260,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -35144,7 +38310,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -35187,7 +38357,10 @@ "Assign", "A0 := app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A1 := X81" ] + [ + "Assign", + "A1 := X81" + ] ] }, "siblings": [ @@ -35195,7 +38368,10 @@ "goal_text": "current-mode (builder-from _ X101 _ _)", "goal_id": 1328 }, - { "goal_text": "!", "goal_id": 1329 }, + { + "goal_text": "!", + "goal_id": 1329 + }, { "goal_text": "std.assert-ok! (coq.typecheck X101 X102) TheFactory is illtyped (BUG)", "goal_id": 1330 @@ -35208,7 +38384,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 180 ], + "more_successful_attempts": [ + 180 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -35422,7 +38601,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -35430,7 +38613,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -35476,7 +38663,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -35498,6 +38689,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -35711,7 +38903,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -35719,7 +38915,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -35765,7 +38965,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -35819,6 +39023,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -36032,7 +39237,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -36040,7 +39249,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -36086,7 +39299,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -36099,7 +39316,13 @@ { "step_id": 181, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1324, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1324, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -36146,7 +39369,10 @@ "goal_text": "instance.private.optimize-body\n (app\n [global (const «IsSelfA'.phant_Build»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X82", "goal_id": 1332 }, - { "goal_text": "!", "goal_id": 1333 }, + { + "goal_text": "!", + "goal_id": 1333 + }, { "goal_text": "std.do!\n [if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _), \n log.coq.env.add-const-noimplicits-failondup X85 X82 \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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 @@ -36156,6 +39382,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -36369,7 +39596,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -36377,7 +39608,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -36423,7 +39658,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -36462,12 +39701,18 @@ } ], "events": [ - [ "Assign", "A0 := «IsSelfA'.phant_Build»" ], + [ + "Assign", + "A0 := «IsSelfA'.phant_Build»" + ], [ "Assign", "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A2 := X82" ] + [ + "Assign", + "A2 := X82" + ] ] }, "siblings": [ @@ -36475,7 +39720,10 @@ "goal_text": "phant-abbrev _ (const «IsSelfA'.phant_Build») _ ;\n coq.gref->id (const «IsSelfA'.phant_Build») X103 , rex_match phant_ X103", "goal_id": 1335 }, - { "goal_text": "!", "goal_id": 1336 }, + { + "goal_text": "!", + "goal_id": 1336 + }, { "goal_text": "coq.env.const «IsSelfA'.phant_Build» (some X104) _", "goal_id": 1337 @@ -36484,12 +39732,16 @@ "goal_text": "hd-beta X104 \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", "goal_id": 1338 }, - { "goal_text": "unwind X105 X106 X82", "goal_id": 1339 } + { + "goal_text": "unwind X105 X106 X82", + "goal_id": 1339 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -36722,7 +39974,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -36730,7 +39986,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -36776,7 +40036,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -36831,6 +40095,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -37082,7 +40347,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -37090,7 +40359,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -37136,7 +40409,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -37343,6 +40620,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -37613,7 +40891,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -37621,7 +40903,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -37667,7 +40953,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -37741,7 +41031,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.env.const", "kind": "FFI", "payload": [] } + { + "name": "coq.env.const", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -37755,11 +41049,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.env.const", "kind": "FFI", "payload": [] } + { + "name": "coq.env.const", + "kind": "FFI", + "payload": [] + } ], "step_id": 187, "runtime_id": 8 @@ -37995,7 +41294,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -38003,7 +41306,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -38049,7 +41356,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -38074,7 +41385,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -38088,10 +41403,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 188, "runtime_id": 8 @@ -38099,7 +41420,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.env.const", "kind": "FFI", "payload": [] } + { + "name": "coq.env.const", + "kind": "FFI", + "payload": [] + } ], "step_id": 187, "runtime_id": 8 @@ -38335,7 +41660,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -38343,7 +41672,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -38389,7 +41722,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -38432,17 +41769,29 @@ "Assign", "A0 := c0 \\\nfun `a` c0 c1 \\\n fun `b` (prod `_` c0 c2 \\ c0) c2 \\\n app [global (indc «IsSelfA'.Axioms_»), c0, c1, c2]" ], - [ "Assign", "A1 := global (indt «nat»)" ], + [ + "Assign", + "A1 := global (indt «nat»)" + ], [ "Assign", "A2 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A3 := X105" ], - [ "Assign", "A4 := X106" ] + [ + "Assign", + "A3 := X105" + ], + [ + "Assign", + "A4 := X106" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1342 }, + { + "goal_text": "!", + "goal_id": 1342 + }, { "goal_text": "hd-beta\n (fun `a` (global (indt «nat»)) c0 \\\n fun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]) \n [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0] X105 X106", "goal_id": 1343 @@ -38452,6 +41801,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -38703,7 +42053,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -38711,7 +42065,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -38757,7 +42115,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -38831,16 +42193,29 @@ "Assign", "A0 := c0 \\\nfun `b` (prod `_` (global (indt «nat»)) c1 \\ global (indt «nat»)) c1 \\\n app [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), c0, c1]" ], - [ "Assign", "A1 := global (indc «O»)" ], [ - "Assign", "A2 := [fun `x` (global (indt «nat»)) c0 \\ c0]" + "Assign", + "A1 := global (indc «O»)" + ], + [ + "Assign", + "A2 := [fun `x` (global (indt «nat»)) c0 \\ c0]" + ], + [ + "Assign", + "A3 := X105" ], - [ "Assign", "A3 := X105" ], - [ "Assign", "A4 := X106" ] + [ + "Assign", + "A4 := X106" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1344 }, + { + "goal_text": "!", + "goal_id": 1344 + }, { "goal_text": "hd-beta\n (fun `b` (prod `_` (global (indt «nat»)) c0 \\ global (indt «nat»)) c0 \\\n app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]) [fun `x` (global (indt «nat»)) c0 \\ c0] \n X105 X106", "goal_id": 1345 @@ -38850,6 +42225,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -39120,7 +42496,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -39128,7 +42508,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -39174,7 +42558,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -39248,14 +42636,29 @@ "Assign", "A0 := c0 \\\napp\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), c0]" ], - [ "Assign", "A1 := fun `x` (global (indt «nat»)) c0 \\ c0" ], - [ "Assign", "A2 := []" ], - [ "Assign", "A3 := X105" ], - [ "Assign", "A4 := X106" ] + [ + "Assign", + "A1 := fun `x` (global (indt «nat»)) c0 \\ c0" + ], + [ + "Assign", + "A2 := []" + ], + [ + "Assign", + "A3 := X105" + ], + [ + "Assign", + "A4 := X106" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1346 }, + { + "goal_text": "!", + "goal_id": 1346 + }, { "goal_text": "hd-beta\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) [] X105 \n X106", "goal_id": 1347 @@ -39265,6 +42668,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -39554,7 +42958,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -39562,7 +42970,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -39608,7 +43020,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -39678,18 +43094,33 @@ } ], "events": [ - [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A0 := global (indc «IsSelfA'.Axioms_»)" + ], [ "Assign", "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A2 := []" ], - [ "Assign", "A3 := X105" ], - [ "Assign", "A4 := X106" ] + [ + "Assign", + "A2 := []" + ], + [ + "Assign", + "A3 := X105" + ], + [ + "Assign", + "A4 := X106" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1348 }, + { + "goal_text": "!", + "goal_id": 1348 + }, { "goal_text": "std.append\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] [] X107", "goal_id": 1349 @@ -39703,6 +43134,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -40011,7 +43443,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -40019,7 +43455,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -40065,7 +43505,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -40135,13 +43579,22 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «nat»)" ], + [ + "Assign", + "A0 := global (indt «nat»)" + ], [ "Assign", "A1 := [global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A2 := []" ], - [ "Assign", "X107 := [global (indt «nat») | X108]" ] + [ + "Assign", + "A2 := []" + ], + [ + "Assign", + "X107 := [global (indt «nat») | X108]" + ] ] }, "siblings": [ @@ -40154,6 +43607,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -40481,7 +43935,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -40489,7 +43947,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -40535,7 +43997,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -40574,12 +44040,22 @@ } ], "events": [ - [ "Assign", "A0 := global (indc «O»)" ], [ - "Assign", "A1 := [fun `x` (global (indt «nat»)) c0 \\ c0]" + "Assign", + "A0 := global (indc «O»)" + ], + [ + "Assign", + "A1 := [fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A2 := []" ], - [ "Assign", "X108 := [global (indc «O») | X109]" ] + [ + "Assign", + "A2 := []" + ], + [ + "Assign", + "X108 := [global (indc «O») | X109]" + ] ] }, "siblings": [ @@ -40592,6 +44068,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -40938,7 +44415,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -40946,7 +44427,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -40992,7 +44477,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -41031,9 +44520,18 @@ } ], "events": [ - [ "Assign", "A0 := fun `x` (global (indt «nat»)) c0 \\ c0" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := []" ], + [ + "Assign", + "A0 := fun `x` (global (indt «nat»)) c0 \\ c0" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := []" + ], [ "Assign", "X109 := [fun `x` (global (indt «nat»)) c0 \\ c0 | X110]" @@ -41041,12 +44539,16 @@ ] }, "siblings": [ - { "goal_text": "std.append [] [] X110", "goal_id": 1353 } + { + "goal_text": "std.append [] [] X110", + "goal_id": 1353 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -41412,7 +44914,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -41420,7 +44926,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -41466,7 +44976,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -41505,7 +45019,14 @@ } ], "events": [ - [ "Assign", "A0 := []" ], [ "Assign", "X110 := []" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "X110 := []" + ] ] }, "siblings": [], @@ -41513,6 +45034,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -41897,7 +45419,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -41905,7 +45431,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -41951,7 +45481,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -41990,12 +45524,18 @@ } ], "events": [ - [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A0 := global (indc «IsSelfA'.Axioms_»)" + ], [ "Assign", "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "X105 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "X105 := global (indc «IsSelfA'.Axioms_»)" + ], [ "Assign", "X106 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" @@ -42007,6 +45547,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -42334,7 +45875,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -42342,7 +45887,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -42388,7 +45937,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -42427,12 +45980,18 @@ } ], "events": [ - [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A0 := global (indc «IsSelfA'.Axioms_»)" + ], [ "Assign", "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" ], - [ "Assign", "A2 := X82" ] + [ + "Assign", + "A2 := X82" + ] ] }, "siblings": [ @@ -42445,6 +46004,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -42696,7 +46256,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -42704,7 +46268,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -42750,7 +46318,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -42789,7 +46361,10 @@ } ], "events": [ - [ "Assign", "A0 := var (global (indc «IsSelfA'.Axioms_»))" ], + [ + "Assign", + "A0 := var (global (indc «IsSelfA'.Axioms_»))" + ], [ "Assign", "A1 := coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82" @@ -42801,7 +46376,10 @@ "goal_text": "var (global (indc «IsSelfA'.Axioms_»))", "goal_id": 1355 }, - { "goal_text": "!", "goal_id": 1356 }, + { + "goal_text": "!", + "goal_id": 1356 + }, { "goal_text": "coq.mk-app-uvar (global (indc «IsSelfA'.Axioms_»)) \n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] X82", "goal_id": 1357 @@ -42810,7 +46388,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 205 ], + "more_successful_attempts": [ + 205 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -43081,7 +46662,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -43089,7 +46674,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -43135,7 +46724,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -43157,17 +46750,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "step_id": 204, "runtime_id": 8 @@ -43441,7 +47045,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -43449,7 +47057,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -43495,7 +47107,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -43550,6 +47166,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -43820,7 +47437,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -43828,7 +47449,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -43874,7 +47499,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -43911,7 +47540,10 @@ } ], "events": [ - [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A0 := global (indc «IsSelfA'.Axioms_»)" + ], [ "Fail", "match\n [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0] with []" @@ -43938,7 +47570,10 @@ } ], "events": [ - [ "Assign", "A0 := global (indc «IsSelfA'.Axioms_»)" ], + [ + "Assign", + "A0 := global (indc «IsSelfA'.Axioms_»)" + ], [ "Assign", "A1 := [global (indt «nat»), global (indc «O»), \n fun `x` (global (indt «nat»)) c0 \\ c0]" @@ -43954,6 +47589,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -44243,7 +47879,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -44251,7 +47891,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -44297,7 +47941,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -44310,7 +47958,13 @@ { "step_id": 207, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1333, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1333, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -44357,7 +48011,10 @@ "goal_text": "if (_ = _) \n (, (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)) (X85 = _)", "goal_id": 1359 }, - { "goal_text": "!", "goal_id": 1360 }, + { + "goal_text": "!", + "goal_id": 1360 + }, { "goal_text": "std.do!\n [log.coq.env.add-const-noimplicits-failondup X85 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1361 @@ -44367,6 +48024,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -44599,7 +48257,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -44607,7 +48269,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -44653,7 +48319,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -44692,7 +48362,10 @@ } ], "events": [ - [ "Assign", "A0 := _ = _" ], + [ + "Assign", + "A0 := _ = _" + ], [ "Assign", "A1 := , (new_int X83) (std.any->string X83 X84) \n (X85 is HB_unnamed_factory_ ^ X84)" @@ -44700,8 +48373,14 @@ ] }, "siblings": [ - { "goal_text": "_ = _", "goal_id": 1362 }, - { "goal_text": "!", "goal_id": 1363 }, + { + "goal_text": "_ = _", + "goal_id": 1362 + }, + { + "goal_text": "!", + "goal_id": 1363 + }, { "goal_text": ", (new_int X83) (std.any->string X83 X84) (X85 is HB_unnamed_factory_ ^ X84)", "goal_id": 1364 @@ -44711,6 +48390,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -44962,7 +48642,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -44970,7 +48654,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -45016,7 +48704,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -45041,7 +48733,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -45050,10 +48746,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 210, "runtime_id": 8 @@ -45308,7 +49010,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -45316,7 +49022,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -45362,7 +49072,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -45418,13 +49132,23 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "new_int X83", "goal_id": 1365 }, - { "goal_text": "std.any->string X83 X84", "goal_id": 1366 }, + { + "goal_text": "new_int X83", + "goal_id": 1365 + }, + { + "goal_text": "std.any->string X83 X84", + "goal_id": 1366 + }, { "goal_text": "X85 is HB_unnamed_factory_ ^ X84", "goal_id": 1367 @@ -45434,11 +49158,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -45693,7 +49422,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -45701,7 +49434,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -45747,7 +49484,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -45772,20 +49513,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "new_int", "kind": "FFI", "payload": [] } + { + "name": "new_int", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "X83 = 27", "goal_id": 1368 } ], + "siblings": [ + { + "goal_text": "X83 = 27", + "goal_id": 1368 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "new_int", "kind": "FFI", "payload": [] } + { + "name": "new_int", + "kind": "FFI", + "payload": [] + } ], "step_id": 213, "runtime_id": 8 @@ -45793,7 +49548,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -46048,7 +49807,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -46056,7 +49819,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -46102,7 +49869,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -46127,19 +49898,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X83 := 27" ] ] + "events": [ + [ + "Assign", + "X83 := 27" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 214, "runtime_id": 8 @@ -46147,7 +49933,11 @@ { "rule": [ "BuiltinRule", - { "name": "new_int", "kind": "FFI", "payload": [] } + { + "name": "new_int", + "kind": "FFI", + "payload": [] + } ], "step_id": 213, "runtime_id": 8 @@ -46155,7 +49945,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -46410,7 +50204,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -46418,7 +50216,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -46464,7 +50266,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -46503,16 +50309,27 @@ } ], "events": [ - [ "Assign", "A0 := 27" ], [ "Assign", "A1 := X84" ] + [ + "Assign", + "A0 := 27" + ], + [ + "Assign", + "A1 := X84" + ] ] }, "siblings": [ - { "goal_text": "term_to_string 27 X84", "goal_id": 1369 } + { + "goal_text": "term_to_string 27 X84", + "goal_id": 1369 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -46536,7 +50353,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -46791,7 +50612,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -46799,7 +50624,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -46845,7 +50674,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -46870,20 +50703,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "term_to_string", "kind": "FFI", "payload": [] } + { + "name": "term_to_string", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "X84 = 27", "goal_id": 1370 } ], + "siblings": [ + { + "goal_text": "X84 = 27", + "goal_id": 1370 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "term_to_string", "kind": "FFI", "payload": [] } + { + "name": "term_to_string", + "kind": "FFI", + "payload": [] + } ], "step_id": 216, "runtime_id": 8 @@ -46910,7 +50757,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -47165,7 +51016,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -47173,7 +51028,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -47219,7 +51078,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -47244,19 +51107,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X84 := 27" ] ] + "events": [ + [ + "Assign", + "X84 := 27" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 217, "runtime_id": 8 @@ -47264,7 +51142,11 @@ { "rule": [ "BuiltinRule", - { "name": "term_to_string", "kind": "FFI", "payload": [] } + { + "name": "term_to_string", + "kind": "FFI", + "payload": [] + } ], "step_id": 216, "runtime_id": 8 @@ -47291,7 +51173,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -47546,7 +51432,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -47554,7 +51444,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -47600,7 +51494,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -47639,8 +51537,14 @@ } ], "events": [ - [ "Assign", "A0 := X85" ], - [ "Assign", "A1 := HB_unnamed_factory_ ^ 27" ] + [ + "Assign", + "A0 := X85" + ], + [ + "Assign", + "A1 := HB_unnamed_factory_ ^ 27" + ] ] }, "siblings": [ @@ -47653,6 +51557,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -47676,7 +51581,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -47931,7 +51840,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -47939,7 +51852,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -47985,7 +51902,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -48010,21 +51931,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "calc", "kind": "FFI", "payload": [] } + { + "name": "calc", + "kind": "FFI", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "X85 = HB_unnamed_factory_27", "goal_id": 1372 } + { + "goal_text": "X85 = HB_unnamed_factory_27", + "goal_id": 1372 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "calc", + "kind": "FFI", + "payload": [] + } ], "step_id": 219, "runtime_id": 8 @@ -48051,7 +51985,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -48306,7 +52244,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -48314,7 +52256,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -48360,7 +52306,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -48385,26 +52335,46 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X85 := HB_unnamed_factory_27" ] ] + "events": [ + [ + "Assign", + "X85 := HB_unnamed_factory_27" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 220, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "calc", + "kind": "FFI", + "payload": [] + } ], "step_id": 219, "runtime_id": 8 @@ -48431,7 +52401,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 212, "runtime_id": 8 @@ -48686,7 +52660,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -48694,7 +52672,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -48740,7 +52722,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -48753,7 +52739,13 @@ { "step_id": 221, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1360, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1360, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -48800,7 +52792,10 @@ "goal_text": "log.coq.env.add-const-noimplicits-failondup HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86", "goal_id": 1373 }, - { "goal_text": "!", "goal_id": 1374 }, + { + "goal_text": "!", + "goal_id": 1374 + }, { "goal_text": "std.do!\n [X87 = global (const X86), std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1375 @@ -48810,6 +52805,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -49061,7 +53057,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -49069,7 +53069,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -49115,7 +53119,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -49154,7 +53162,10 @@ } ], "events": [ - [ "Assign", "A0 := HB_unnamed_factory_27" ], + [ + "Assign", + "A0 := HB_unnamed_factory_27" + ], [ "Assign", "A1 := app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]" @@ -49163,8 +53174,14 @@ "Assign", "A2 := app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]" ], - [ "Assign", "A3 := ff" ], - [ "Assign", "A4 := X86" ] + [ + "Assign", + "A3 := ff" + ], + [ + "Assign", + "A4 := X86" + ] ] }, "siblings": [ @@ -49177,6 +53194,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -49447,7 +53465,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -49455,7 +53477,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -49501,7 +53527,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -49555,7 +53585,10 @@ "goal_text": "if\n (not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))) \n (,\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)) true", "goal_id": 1377 }, - { "goal_text": "!", "goal_id": 1378 }, + { + "goal_text": "!", + "goal_id": 1378 + }, { "goal_text": "std.do!\n [coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86, \n log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", "goal_id": 1379 @@ -49565,6 +53598,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -49854,7 +53888,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -49862,7 +53900,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -49908,7 +53950,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -49962,7 +54008,10 @@ "goal_text": "not\n (ground_term\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", "goal_id": 1380 }, - { "goal_text": "!", "goal_id": 1381 }, + { + "goal_text": "!", + "goal_id": 1381 + }, { "goal_text": ",\n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X111) \n (coq.term->string\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) X112) \n (coq.error HB: cannot infer some information in HB_unnamed_factory_27 : \n X111 := X112)", "goal_id": 1382 @@ -49971,7 +54020,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 231 ], + "more_successful_attempts": [ + 231 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -50280,7 +54332,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -50288,7 +54344,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -50334,7 +54394,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -50384,13 +54448,20 @@ "goal_text": "ground_term (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])\n ;\n ground_term\n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])", "goal_id": 1383 }, - { "goal_text": "!", "goal_id": 1384 }, - { "goal_text": "fail", "goal_id": 1385 } + { + "goal_text": "!", + "goal_id": 1384 + }, + { + "goal_text": "fail", + "goal_id": 1385 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -50718,7 +54789,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -50726,7 +54801,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -50772,7 +54851,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -50827,6 +54910,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -51173,7 +55257,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -51181,7 +55269,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -51227,7 +55319,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -51252,7 +55348,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "ground_term", "kind": "FFI", "payload": [] } + { + "name": "ground_term", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -51261,11 +55361,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "ground_term", "kind": "FFI", "payload": [] } + { + "name": "ground_term", + "kind": "FFI", + "payload": [] + } ], "step_id": 228, "runtime_id": 8 @@ -51615,7 +55720,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -51623,7 +55732,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -51669,7 +55782,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -51740,6 +55857,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -52067,7 +56185,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -52075,7 +56197,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -52121,7 +56247,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -52159,13 +56289,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1387 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1387 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -52474,7 +56615,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -52482,7 +56627,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -52528,7 +56677,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -52573,6 +56726,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -52900,7 +57054,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -52908,7 +57066,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -52954,7 +57116,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -52967,7 +57133,13 @@ { "step_id": 233, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1378, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1378, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -53014,7 +57186,10 @@ "goal_text": "coq.env.add-const HB_unnamed_factory_27 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]) \n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) ff X86", "goal_id": 1388 }, - { "goal_text": "!", "goal_id": 1389 }, + { + "goal_text": "!", + "goal_id": 1389 + }, { "goal_text": "std.do!\n [log.coq.env.add-location (const X86), \n if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const X86) [[]]]", "goal_id": 1390 @@ -53024,6 +57199,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -53332,7 +57508,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -53340,7 +57520,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -53386,7 +57570,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -53411,7 +57599,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.env.add-const", "kind": "FFI", "payload": [] } + { + "name": "coq.env.add-const", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -53425,11 +57617,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.env.add-const", "kind": "FFI", "payload": [] } + { + "name": "coq.env.add-const", + "kind": "FFI", + "payload": [] + } ], "step_id": 235, "runtime_id": 8 @@ -53741,7 +57938,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -53749,7 +57950,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -53795,7 +58000,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -53820,19 +58029,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X86 := «HB_unnamed_factory_27»" ] ] + "events": [ + [ + "Assign", + "X86 := «HB_unnamed_factory_27»" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 236, "runtime_id": 8 @@ -53840,7 +58064,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.env.add-const", "kind": "FFI", "payload": [] } + { + "name": "coq.env.add-const", + "kind": "FFI", + "payload": [] + } ], "step_id": 235, "runtime_id": 8 @@ -54152,7 +58380,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -54160,7 +58392,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -54206,7 +58442,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -54219,7 +58459,13 @@ { "step_id": 237, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1389, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1389, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -54266,7 +58512,10 @@ "goal_text": "log.coq.env.add-location (const «HB_unnamed_factory_27»)", "goal_id": 1392 }, - { "goal_text": "!", "goal_id": 1393 }, + { + "goal_text": "!", + "goal_id": 1393 + }, { "goal_text": "std.do!\n [if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])), \n log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 X113 \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", "goal_id": 1394 @@ -54276,6 +58525,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -54603,7 +58853,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -54611,7 +58865,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -54657,7 +58915,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -54696,7 +58958,10 @@ } ], "events": [ - [ "Assign", "A0 := const «HB_unnamed_factory_27»" ] + [ + "Assign", + "A0 := const «HB_unnamed_factory_27»" + ] ] }, "siblings": [ @@ -54709,6 +58974,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -55055,7 +59321,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -55063,7 +59333,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -55109,7 +59383,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -55148,7 +59426,10 @@ } ], "events": [ - [ "Assign", "A0 := get-option elpi.loc X114" ], + [ + "Assign", + "A0 := get-option elpi.loc X114" + ], [ "Assign", "A1 := acc-clause library \n (decl-location (const «HB_unnamed_factory_27») X114)" @@ -55156,8 +59437,14 @@ ] }, "siblings": [ - { "goal_text": "get-option elpi.loc X114", "goal_id": 1396 }, - { "goal_text": "!", "goal_id": 1397 }, + { + "goal_text": "get-option elpi.loc X114", + "goal_id": 1396 + }, + { + "goal_text": "!", + "goal_id": 1397 + }, { "goal_text": "acc-clause library (decl-location (const «HB_unnamed_factory_27») X114)", "goal_id": 1398 @@ -55167,6 +59454,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -55532,7 +59820,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -55540,7 +59832,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -55586,7 +59882,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -55613,7 +59913,10 @@ "UserRule", { "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", - "rule_loc": [ "Context", 74 ] + "rule_loc": [ + "Context", + 74 + ] } ], "events": [ @@ -55628,13 +59931,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(get-option elpi.loc File \"(stdin)\", line 1, column 2, character 3:) :- .", - "rule_loc": [ "Context", 74 ] + "rule_loc": [ + "Context", + 74 + ] } ], "step_id": 241, @@ -56004,7 +60311,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -56012,7 +60323,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -56058,7 +60373,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -56128,7 +60447,10 @@ } ], "events": [ - [ "Assign", "A0 := library" ], + [ + "Assign", + "A0 := library" + ], [ "Assign", "A1 := decl-location (const «HB_unnamed_factory_27») \n File \"(stdin)\", line 1, column 2, character 3:" @@ -56145,6 +60467,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -56529,7 +60852,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -56537,7 +60864,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -56583,7 +60914,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -56621,11 +60956,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.elpi.accumulate", "kind": "FFI", "payload": [] } + { + "name": "coq.elpi.accumulate", + "kind": "FFI", + "payload": [] + } ], "step_id": 244, "runtime_id": 8 @@ -57013,7 +61353,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -57021,7 +61365,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -57067,7 +61415,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -57080,7 +61432,13 @@ { "step_id": 245, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1393, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1393, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -57127,7 +61485,10 @@ "goal_text": "if (var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (X113 = none) \n (X113 =\n some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]))", "goal_id": 1400 }, - { "goal_text": "!", "goal_id": 1401 }, + { + "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 (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0])), \n get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", "goal_id": 1402 @@ -57137,6 +61498,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -57483,7 +61845,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -57491,7 +61857,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -57537,7 +61907,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -57580,7 +61954,10 @@ "Assign", "A0 := var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])" ], - [ "Assign", "A1 := X113 = none" ] + [ + "Assign", + "A1 := X113 = none" + ] ] }, "siblings": [ @@ -57588,13 +61965,22 @@ "goal_text": "var (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])", "goal_id": 1403 }, - { "goal_text": "!", "goal_id": 1404 }, - { "goal_text": "X113 = none", "goal_id": 1405 } + { + "goal_text": "!", + "goal_id": 1404 + }, + { + "goal_text": "X113 = none", + "goal_id": 1405 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 249 ], + "more_successful_attempts": [ + 249 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -57960,7 +62346,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -57968,7 +62358,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -58014,7 +62408,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -58036,17 +62434,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "var", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "var", + "kind": "FFI", + "payload": [] + } ], "step_id": 248, "runtime_id": 8 @@ -58415,7 +62824,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -58423,7 +62836,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -58469,7 +62886,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -58524,6 +62945,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -58889,7 +63311,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -58897,7 +63323,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -58943,7 +63373,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -58968,7 +63402,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -58982,10 +63420,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 250, "runtime_id": 8 @@ -59354,7 +63798,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -59362,7 +63810,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -59408,7 +63860,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -59421,7 +63877,13 @@ { "step_id": 251, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1401, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1401, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -59468,7 +63930,10 @@ "goal_text": "log.private.log-vernac\n (log.private.coq.vernac.definition HB_unnamed_factory_27 \n (some (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)])) \n (app\n [global (indc «IsSelfA'.Axioms_»), global (indt «nat»), \n global (indc «O»), fun `x` (global (indt «nat»)) c0 \\ c0]))", "goal_id": 1407 }, - { "goal_text": "!", "goal_id": 1408 }, + { + "goal_text": "!", + "goal_id": 1408 + }, { "goal_text": "std.do!\n [get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]]", "goal_id": 1409 @@ -59478,6 +63943,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -59843,7 +64309,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -59851,7 +64321,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -59897,7 +64371,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -59947,7 +64425,10 @@ "goal_text": "log.private.logger X115 X116", "goal_id": 1410 }, - { "goal_text": "!", "goal_id": 1411 }, + { + "goal_text": "!", + "goal_id": 1411 + }, { "goal_text": "if (X116 = tt) (X117 = []) (X117 = [get-option coq:pp all])", "goal_id": 1412 @@ -59964,7 +64445,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 255 ], + "more_successful_attempts": [ + 255 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -60349,7 +64833,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -60357,7 +64845,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -60403,7 +64895,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -60425,6 +64921,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -60809,7 +65306,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -60817,7 +65318,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -60863,7 +65368,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -60908,6 +65417,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -61292,7 +65802,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -61300,7 +65814,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -61346,7 +65864,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -61359,7 +65881,13 @@ { "step_id": 256, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1408, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1408, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -61395,7 +65923,10 @@ "Assign", "A0 := get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -61403,13 +65934,20 @@ "goal_text": "get-option coq:locality local =>\n log.coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", "goal_id": 1415 }, - { "goal_text": "!", "goal_id": 1416 }, - { "goal_text": "std.do! []", "goal_id": 1417 } + { + "goal_text": "!", + "goal_id": 1416 + }, + { + "goal_text": "std.do! []", + "goal_id": 1417 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -61794,7 +66332,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -61802,7 +66344,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -61848,7 +66394,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -61873,7 +66423,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -61887,11 +66441,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -62279,7 +66838,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -62287,7 +66850,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -62333,7 +66900,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -62372,8 +66943,14 @@ } ], "events": [ - [ "Assign", "A0 := const «HB_unnamed_factory_27»" ], - [ "Assign", "A1 := [[]]" ] + [ + "Assign", + "A0 := const «HB_unnamed_factory_27»" + ], + [ + "Assign", + "A1 := [[]]" + ] ] }, "siblings": [ @@ -62386,6 +66963,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -62409,7 +66987,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -62797,7 +67379,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -62805,7 +67391,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -62851,7 +67441,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -62905,7 +67499,10 @@ "goal_text": "coq.arguments.set-implicit (const «HB_unnamed_factory_27») [[]]", "goal_id": 1420 }, - { "goal_text": "!", "goal_id": 1421 }, + { + "goal_text": "!", + "goal_id": 1421 + }, { "goal_text": "std.do!\n [if (get-option coq:locality local) (X119 = tt) (X119 = ff), \n (coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", "goal_id": 1422 @@ -62915,6 +67512,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -62957,7 +67555,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -63345,7 +67947,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -63353,7 +67959,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -63399,7 +68009,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -63437,6 +68051,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -63491,7 +68106,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -63879,7 +68498,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -63887,7 +68510,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -63933,7 +68560,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -63946,7 +68577,13 @@ { "step_id": 262, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1421, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1421, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -63993,7 +68630,10 @@ "goal_text": "if (get-option coq:locality local) (X119 = tt) (X119 = ff)", "goal_id": 1423 }, - { "goal_text": "!", "goal_id": 1424 }, + { + "goal_text": "!", + "goal_id": 1424 + }, { "goal_text": "std.do!\n [(coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit X119 X120 [[]]))]", "goal_id": 1425 @@ -64003,6 +68643,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -64064,7 +68705,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -64452,7 +69097,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -64460,7 +69109,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -64506,7 +69159,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -64545,8 +69202,14 @@ } ], "events": [ - [ "Assign", "A0 := get-option coq:locality local" ], - [ "Assign", "A1 := X119 = tt" ] + [ + "Assign", + "A0 := get-option coq:locality local" + ], + [ + "Assign", + "A1 := X119 = tt" + ] ] }, "siblings": [ @@ -64554,13 +69217,20 @@ "goal_text": "get-option coq:locality local", "goal_id": 1426 }, - { "goal_text": "!", "goal_id": 1427 }, - { "goal_text": "X119 = tt", "goal_id": 1428 } + { + "goal_text": "!", + "goal_id": 1427 + }, + { + "goal_text": "X119 = tt", + "goal_id": 1428 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -64641,7 +69311,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -65029,7 +69703,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -65037,7 +69715,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -65083,7 +69765,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -65110,7 +69796,10 @@ "UserRule", { "rule_text": "(get-option coq:locality local) :- .", - "rule_loc": [ "Context", 258 ] + "rule_loc": [ + "Context", + 258 + ] } ], "events": [] @@ -65120,13 +69809,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(get-option coq:locality local) :- .", - "rule_loc": [ "Context", 258 ] + "rule_loc": [ + "Context", + 258 + ] } ], "step_id": 265, @@ -65211,7 +69904,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -65599,7 +70296,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -65607,7 +70308,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -65653,7 +70358,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -65709,19 +70418,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X119 := tt" ] ] + "events": [ + [ + "Assign", + "X119 := tt" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 267, "runtime_id": 8 @@ -65805,7 +70529,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -66193,7 +70921,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -66201,7 +70933,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -66247,7 +70983,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -66260,7 +71000,13 @@ { "step_id": 268, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1424, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1424, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -66296,7 +71042,10 @@ "Assign", "A0 := coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -66304,13 +71053,20 @@ "goal_text": "coq.gref->id (const «HB_unnamed_factory_27») X120 ,\n log.private.log-vernac (log.private.coq.vernac.implicit tt X120 [[]])", "goal_id": 1429 }, - { "goal_text": "!", "goal_id": 1430 }, - { "goal_text": "std.do! []", "goal_id": 1431 } + { + "goal_text": "!", + "goal_id": 1430 + }, + { + "goal_text": "std.do! []", + "goal_id": 1431 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -66391,7 +71147,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -66779,7 +71539,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -66787,7 +71551,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -66833,7 +71601,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -66858,7 +71630,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -66876,11 +71652,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 270, "runtime_id": 8 @@ -66964,7 +71745,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -67352,7 +72137,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -67360,7 +72149,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -67406,7 +72199,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -67431,7 +72228,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.gref->id", "kind": "FFI", "payload": [] } + { + "name": "coq.gref->id", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -67445,11 +72246,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.gref->id", "kind": "FFI", "payload": [] } + { + "name": "coq.gref->id", + "kind": "FFI", + "payload": [] + } ], "step_id": 271, "runtime_id": 8 @@ -67457,7 +72263,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 270, "runtime_id": 8 @@ -67541,7 +72351,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -67929,7 +72743,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -67937,7 +72755,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -67983,7 +72805,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -68008,19 +72834,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X120 := HB_unnamed_factory_27" ] ] + "events": [ + [ + "Assign", + "X120 := HB_unnamed_factory_27" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 272, "runtime_id": 8 @@ -68028,7 +72869,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.gref->id", "kind": "FFI", "payload": [] } + { + "name": "coq.gref->id", + "kind": "FFI", + "payload": [] + } ], "step_id": 271, "runtime_id": 8 @@ -68036,7 +72881,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 270, "runtime_id": 8 @@ -68120,7 +72969,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -68508,7 +73361,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -68516,7 +73373,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -68562,7 +73423,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -68612,7 +73477,10 @@ "goal_text": "log.private.logger X121 X122", "goal_id": 1435 }, - { "goal_text": "!", "goal_id": 1436 }, + { + "goal_text": "!", + "goal_id": 1436 + }, { "goal_text": "if (X122 = tt) (X123 = []) (X123 = [get-option coq:pp all])", "goal_id": 1437 @@ -68629,7 +73497,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 275 ], + "more_successful_attempts": [ + 275 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -68653,7 +73524,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 270, "runtime_id": 8 @@ -68737,7 +73612,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -69125,7 +74004,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -69133,7 +74016,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -69179,7 +74066,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -69201,6 +74092,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -69224,7 +74116,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 270, "runtime_id": 8 @@ -69308,7 +74204,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -69696,7 +74596,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -69704,7 +74608,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -69750,7 +74658,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -69795,6 +74707,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -69818,7 +74731,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 270, "runtime_id": 8 @@ -69902,7 +74819,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -70290,7 +75211,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -70298,7 +75223,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -70344,7 +75273,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -70357,7 +75290,13 @@ { "step_id": 276, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1430, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1430, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -70395,6 +75334,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -70494,7 +75434,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 258, "runtime_id": 8 @@ -70882,7 +75826,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -70890,7 +75838,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -70936,7 +75888,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -70949,7 +75905,13 @@ { "step_id": 278, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1416, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1416, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -70987,6 +75949,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -71390,7 +76353,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -71398,7 +76365,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -71444,7 +76415,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -71457,7 +76432,13 @@ { "step_id": 280, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1374, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1374, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -71504,7 +76485,10 @@ "goal_text": "X87 = global (const «HB_unnamed_factory_27»)", "goal_id": 1440 }, - { "goal_text": "!", "goal_id": 1441 }, + { + "goal_text": "!", + "goal_id": 1441 + }, { "goal_text": "std.do!\n [std.drop 0 [global (indt «nat»)] [X88 | _], \n instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 X87 X89 \n X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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 @@ -71514,6 +76498,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -71784,7 +76769,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -71792,7 +76781,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -71838,7 +76831,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -71863,10 +76860,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X87 := global (const «HB_unnamed_factory_27»)" ] + [ + "Assign", + "X87 := global (const «HB_unnamed_factory_27»)" + ] ] }, "siblings": [], @@ -71874,10 +76878,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 282, "runtime_id": 8 @@ -72151,7 +77161,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -72159,7 +77173,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -72205,7 +77223,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -72218,7 +77240,13 @@ { "step_id": 283, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1441, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1441, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -72265,7 +77293,10 @@ "goal_text": "std.drop 0 [global (indt «nat»)] [X88 | _]", "goal_id": 1443 }, - { "goal_text": "!", "goal_id": 1444 }, + { + "goal_text": "!", + "goal_id": 1444 + }, { "goal_text": "std.do!\n [instance.private.check-non-forgetful-inheritance X88 \n (indt «IsSelfA'.axioms_»), \n instance.private.declare-instance (indt «IsSelfA'.axioms_») X88 \n (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1445 @@ -72275,6 +77306,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -72564,7 +77596,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -72572,7 +77608,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -72618,7 +77658,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -72657,15 +77701,27 @@ } ], "events": [ - [ "Assign", "A0 := [global (indt «nat»)]" ], - [ "Assign", "X88 := global (indt «nat»)" ] + [ + "Assign", + "A0 := [global (indt «nat»)]" + ], + [ + "Assign", + "X88 := global (indt «nat»)" + ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1446 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1446 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -72974,7 +78030,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -72982,7 +78042,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -73028,7 +78092,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -73090,7 +78158,13 @@ { "step_id": 287, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1444, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1444, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -73137,7 +78211,10 @@ "goal_text": "instance.private.check-non-forgetful-inheritance (global (indt «nat»)) \n (indt «IsSelfA'.axioms_»)", "goal_id": 1447 }, - { "goal_text": "!", "goal_id": 1448 }, + { + "goal_text": "!", + "goal_id": 1448 + }, { "goal_text": "std.do!\n [instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90, \n if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1449 @@ -73147,6 +78224,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -73455,7 +78533,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -73463,7 +78545,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -73509,7 +78595,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -73554,12 +78644,18 @@ "goal_text": "get-option non_forgetful_inheritance tt", "goal_id": 1450 }, - { "goal_text": "!", "goal_id": 1451 } + { + "goal_text": "!", + "goal_id": 1451 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 291 ], + "more_successful_attempts": [ + 291 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -73887,7 +78983,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -73895,7 +78995,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -73941,7 +79045,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -73963,6 +79071,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -74290,7 +79399,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -74298,7 +79411,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -74344,7 +79461,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -74383,8 +79504,14 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «nat»)" ], - [ "Assign", "A1 := indt «IsSelfA'.axioms_»" ] + [ + "Assign", + "A0 := global (indt «nat»)" + ], + [ + "Assign", + "A1 := indt «IsSelfA'.axioms_»" + ] ] }, "siblings": [ @@ -74397,6 +79524,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -74724,7 +79852,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -74732,7 +79864,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -74778,7 +79914,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -74821,7 +79961,10 @@ "Assign", "A0 := if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 \n depend on 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 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-inheritance.v \n to witness devastating effects.)) true" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -74829,13 +79972,20 @@ "goal_text": "if\n (coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126) \n (, (nice-gref->string (indt «IsSelfA'.axioms_») 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 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 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-inheritance.v \n to witness devastating effects.)) true", "goal_id": 1453 }, - { "goal_text": "!", "goal_id": 1454 }, - { "goal_text": "std.do! []", "goal_id": 1455 } + { + "goal_text": "!", + "goal_id": 1454 + }, + { + "goal_text": "std.do! []", + "goal_id": 1455 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -75182,7 +80332,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -75190,7 +80344,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -75236,7 +80394,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -75290,7 +80452,10 @@ "goal_text": "coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _ ,\n structure-key X125 _ X126", "goal_id": 1456 }, - { "goal_text": "!", "goal_id": 1457 }, + { + "goal_text": "!", + "goal_id": 1457 + }, { "goal_text": ", (nice-gref->string (indt «IsSelfA'.axioms_») 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 X129 \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 #[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 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-inheritance.v \n to witness devastating effects.)", "goal_id": 1458 @@ -75299,7 +80464,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 296 ], + "more_successful_attempts": [ + 296 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -75665,7 +80833,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -75673,7 +80845,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -75719,7 +80895,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -75744,7 +80924,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -75753,17 +80937,25 @@ "goal_text": "coq.safe-dest-app (global (indt «nat»)) (global (const X125)) _", "goal_id": 1459 }, - { "goal_text": "structure-key X125 _ X126", "goal_id": 1460 } + { + "goal_text": "structure-key X125 _ X126", + "goal_id": 1460 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 294, "runtime_id": 8 @@ -76132,7 +81324,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -76140,7 +81336,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -76186,7 +81386,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -76223,15 +81427,20 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «nat»)" ], [ - "Fail", "unify global (const X125) with global (indt «nat»)" + "Assign", + "A0 := global (indt «nat»)" + ], + [ + "Fail", + "unify global (const X125) with global (indt «nat»)" ] ] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -76255,7 +81464,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 294, "runtime_id": 8 @@ -76624,7 +81837,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -76632,7 +81849,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -76678,7 +81899,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -76716,13 +81941,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1461 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1461 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -77088,7 +82324,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -77096,7 +82336,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -77142,7 +82386,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -77187,6 +82435,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -77571,7 +82820,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -77579,7 +82832,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -77625,7 +82882,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -77638,7 +82899,13 @@ { "step_id": 298, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1454, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1454, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -77676,6 +82943,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -78041,7 +83309,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -78049,7 +83321,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -78095,7 +83371,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -78108,7 +83388,13 @@ { "step_id": 300, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1448, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1448, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -78155,7 +83441,10 @@ "goal_text": "instance.private.declare-instance (indt «IsSelfA'.axioms_») \n (global (indt «nat»)) (global (const «HB_unnamed_factory_27»)) X89 X90", "goal_id": 1462 }, - { "goal_text": "!", "goal_id": 1463 }, + { + "goal_text": "!", + "goal_id": 1463 + }, { "goal_text": "std.do!\n [if\n (arity (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) =\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": 1464 @@ -78165,6 +83454,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -78492,7 +83782,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -78500,7 +83794,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -78546,7 +83844,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -78585,11 +83887,26 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := global (indt «nat»)" ], - [ "Assign", "A2 := global (const «HB_unnamed_factory_27»)" ], - [ "Assign", "A3 := X89" ], - [ "Assign", "A4 := X90" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := global (indt «nat»)" + ], + [ + "Assign", + "A2 := global (const «HB_unnamed_factory_27»)" + ], + [ + "Assign", + "A3 := X89" + ], + [ + "Assign", + "A4 := X90" + ] ] }, "siblings": [ @@ -78597,12 +83914,18 @@ "goal_text": "current-mode (builder-from (global (indt «nat»)) X130 X131 _)", "goal_id": 1465 }, - { "goal_text": "!", "goal_id": 1466 }, + { + "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' := T) \n true", "goal_id": 1467 }, - { "goal_text": "!", "goal_id": 1468 }, + { + "goal_text": "!", + "goal_id": 1468 + }, { "goal_text": "instance.private.declare-canonical-instances-from-factory-and-local-builders\n (indt «IsSelfA'.axioms_») (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) X130 X131 X89 X90", "goal_id": 1469 @@ -78611,7 +83934,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 304 ], + "more_successful_attempts": [ + 304 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -78958,7 +84284,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -78966,7 +84296,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -79012,7 +84346,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -79034,6 +84372,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -79380,7 +84719,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -79388,7 +84731,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -79434,7 +84781,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -79473,11 +84824,26 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := global (indt «nat»)" ], - [ "Assign", "A2 := global (const «HB_unnamed_factory_27»)" ], - [ "Assign", "A3 := X89" ], - [ "Assign", "A4 := X90" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := global (indt «nat»)" + ], + [ + "Assign", + "A2 := global (const «HB_unnamed_factory_27»)" + ], + [ + "Assign", + "A3 := X89" + ], + [ + "Assign", + "A4 := X90" + ] ] }, "siblings": [ @@ -79494,6 +84860,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -79840,7 +85207,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -79848,7 +85219,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -79894,7 +85269,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -79933,10 +85312,22 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := global (indt «nat»)" ], - [ "Assign", "A2 := global (const «HB_unnamed_factory_27»)" ], - [ "Assign", "A3 := X90" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := global (indt «nat»)" + ], + [ + "Assign", + "A2 := global (const «HB_unnamed_factory_27»)" + ], + [ + "Assign", + "A3 := X90" + ] ] }, "siblings": [ @@ -79949,6 +85340,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -80314,7 +85706,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -80322,7 +85718,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -80368,7 +85768,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -80411,7 +85815,10 @@ "Assign", "A0 := synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do!\n (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]" ], - [ "Assign", "A1 := [std.append X135 X137 X90]" ] + [ + "Assign", + "A1 := [std.append X135 X137 X90]" + ] ] }, "siblings": [ @@ -80419,7 +85826,10 @@ "goal_text": "synthesis.under-mixin-src-from-factory.do! (global (indt «nat»)) \n (global (const «HB_unnamed_factory_27»)) \n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]", "goal_id": 1473 }, - { "goal_text": "!", "goal_id": 1474 }, + { + "goal_text": "!", + "goal_id": 1474 + }, { "goal_text": "std.do! [std.append X135 X137 X90]", "goal_id": 1475 @@ -80429,6 +85839,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -80813,7 +86224,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -80821,7 +86236,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -80867,7 +86286,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -80906,8 +86329,14 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «nat»)" ], - [ "Assign", "A1 := global (const «HB_unnamed_factory_27»)" ], + [ + "Assign", + "A0 := global (indt «nat»)" + ], + [ + "Assign", + "A1 := global (const «HB_unnamed_factory_27»)" + ], [ "Assign", "A2 := [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]" @@ -80924,6 +86353,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -81327,7 +86757,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -81335,7 +86769,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -81381,7 +86819,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -81435,7 +86877,10 @@ "goal_text": "synthesis.private.factory-instance->new-mixins [] \n (global (const «HB_unnamed_factory_27»)) X138", "goal_id": 1477 }, - { "goal_text": "!", "goal_id": 1478 }, + { + "goal_text": "!", + "goal_id": 1478 + }, { "goal_text": "std.do!\n [std.map X138 (c0 \\ c1 \\\n c1 =\n mixin-src (global (indt «nat»)) c0 \n (global (const «HB_unnamed_factory_27»))) X139, \n X139 =>\n std.do!\n [synthesis.under-local-canonical-mixins-of.do! (global (indt «nat»)) \n [(factory-provides (indt «IsSelfA'.axioms_») X133 ,\n list-w-params_list X133 X134), \n instance.private.add-all-mixins (global (indt «nat»)) \n (indt «IsSelfA'.axioms_») X134 tt _ X135, \n (findall-classes-for X134 X136 ,\n instance.declare-all (global (indt «nat»)) X136 X137)]]]", "goal_id": 1479 @@ -81445,6 +86890,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -81867,7 +87313,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -81875,7 +87325,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -81921,7 +87375,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -81960,9 +87418,18 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := global (const «HB_unnamed_factory_27»)" ], - [ "Assign", "A2 := X138" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := global (const «HB_unnamed_factory_27»)" + ], + [ + "Assign", + "A2 := X138" + ] ] }, "siblings": [ @@ -81975,6 +87442,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -82416,7 +87884,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -82424,7 +87896,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -82470,7 +87946,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -82524,7 +88004,10 @@ "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «HB_unnamed_factory_27»)) X140) \n mixin-src: X illtyped", "goal_id": 1481 }, - { "goal_text": "!", "goal_id": 1482 }, + { + "goal_text": "!", + "goal_id": 1482 + }, { "goal_text": "std.do!\n [if (not (coq.safe-dest-app X140 (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) 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": 1483 @@ -82534,6 +88017,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -82994,7 +88478,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -83002,7 +88490,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -83048,7 +88540,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -83091,7 +88587,10 @@ "Assign", "A0 := coq.typecheck (global (const «HB_unnamed_factory_27»)) X140" ], - [ "Assign", "A1 := mixin-src: X illtyped" ] + [ + "Assign", + "A1 := mixin-src: X illtyped" + ] ] }, "siblings": [ @@ -83099,17 +88598,24 @@ "goal_text": "coq.typecheck (global (const «HB_unnamed_factory_27»)) X140 X146", "goal_id": 1484 }, - { "goal_text": "!", "goal_id": 1485 }, + { + "goal_text": "!", + "goal_id": 1485 + }, { "goal_text": "X146 = ok ;\n X146 = error X147 , std.fatal-error-w-data mixin-src: X illtyped X147", "goal_id": 1486 }, - { "goal_text": "!", "goal_id": 1487 } + { + "goal_text": "!", + "goal_id": 1487 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -83589,7 +89095,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -83597,7 +89107,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -83643,7 +89157,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -83668,7 +89186,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -83677,17 +89199,25 @@ "goal_text": "X140 = app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]", "goal_id": 1488 }, - { "goal_text": "X146 = ok", "goal_id": 1489 } + { + "goal_text": "X146 = ok", + "goal_id": 1489 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 312, "runtime_id": 8 @@ -84170,7 +89700,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -84178,7 +89712,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -84224,7 +89762,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -84249,7 +89791,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -84263,10 +89809,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 313, "runtime_id": 8 @@ -84274,7 +89826,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 312, "runtime_id": 8 @@ -84757,7 +90313,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -84765,7 +90325,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -84811,7 +90375,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -84836,19 +90404,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X146 := ok" ] ] + "events": [ + [ + "Assign", + "X146 := ok" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 314, "runtime_id": 8 @@ -84856,7 +90439,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 312, "runtime_id": 8 @@ -85339,7 +90926,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -85347,7 +90938,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -85393,7 +90988,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -85462,13 +91061,24 @@ ] } ], - "events": [ [ "Assign", "A0 := ok = ok" ] ] + "events": [ + [ + "Assign", + "A0 := ok = ok" + ] + ] }, - "siblings": [ { "goal_text": "ok = ok", "goal_id": 1490 } ], + "siblings": [ + { + "goal_text": "ok = ok", + "goal_id": 1490 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -85967,7 +91577,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -85975,7 +91589,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -86021,7 +91639,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -86046,7 +91668,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -86055,10 +91681,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 317, "runtime_id": 8 @@ -86560,7 +92192,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -86568,7 +92204,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -86614,7 +92254,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -86658,7 +92302,13 @@ { "step_id": 319, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1482, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1482, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -86705,7 +92355,10 @@ "goal_text": "if\n (not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)) \n (, (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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": "!", + "goal_id": 1492 + }, { "goal_text": "std.do!\n [coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) 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 @@ -86715,6 +92368,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -87194,7 +92848,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -87202,7 +92860,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -87248,7 +92910,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -87302,7 +92968,10 @@ "goal_text": "not\n (coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _)", "goal_id": 1494 }, - { "goal_text": "!", "goal_id": 1495 }, + { + "goal_text": "!", + "goal_id": 1495 + }, { "goal_text": ", (coq.term->string (global (const «HB_unnamed_factory_27»)) X141) \n (coq.term->string\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X142) \n (coq.error Term:\n X141 \nhas type:\n X142 \nwhich is not a record)", "goal_id": 1496 @@ -87311,7 +92980,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 329 ], + "more_successful_attempts": [ + 329 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -87810,7 +93482,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -87818,7 +93494,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -87864,7 +93544,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -87914,13 +93598,20 @@ "goal_text": "coq.safe-dest-app\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) \n (global _) _", "goal_id": 1497 }, - { "goal_text": "!", "goal_id": 1498 }, - { "goal_text": "fail", "goal_id": 1499 } + { + "goal_text": "!", + "goal_id": 1498 + }, + { + "goal_text": "fail", + "goal_id": 1499 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -88438,7 +94129,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -88446,7 +94141,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -88492,7 +94191,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -88531,13 +94234,25 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "A1 := [global (indt «nat»)]" ], - [ "Assign", "A2 := global _" ] + [ + "Assign", + "A0 := global (indt «IsSelfA'.axioms_»)" + ], + [ + "Assign", + "A1 := [global (indt «nat»)]" + ], + [ + "Assign", + "A2 := global _" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1500 }, + { + "goal_text": "!", + "goal_id": 1500 + }, { "goal_text": "coq.safe-dest-app (global (indt «IsSelfA'.axioms_»)) (global _) X148", "goal_id": 1501 @@ -88551,6 +94266,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -89087,7 +94803,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -89095,7 +94815,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -89141,7 +94865,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -89211,8 +94939,14 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "X148 := []" ] + [ + "Assign", + "A0 := global (indt «IsSelfA'.axioms_»)" + ], + [ + "Assign", + "X148 := []" + ] ] }, "siblings": [], @@ -89220,6 +94954,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -89775,7 +95510,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -89783,7 +95522,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -89829,7 +95572,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -89868,8 +95615,14 @@ } ], "events": [ - [ "Assign", "A0 := [global (indt «nat»)]" ], - [ "Assign", "X149 := [global (indt «nat»)]" ] + [ + "Assign", + "A0 := [global (indt «nat»)]" + ], + [ + "Assign", + "X149 := [global (indt «nat»)]" + ] ] }, "siblings": [], @@ -89877,6 +95630,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -90432,7 +96186,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -90440,7 +96198,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -90486,7 +96248,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -90539,6 +96305,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -91056,7 +96823,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -91064,7 +96835,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -91110,7 +96885,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -91148,13 +96927,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1503 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1503 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -91653,7 +97443,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -91661,7 +97455,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -91707,7 +97505,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -91752,6 +97554,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -92269,7 +98072,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -92277,7 +98084,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -92323,7 +98134,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -92336,7 +98151,13 @@ { "step_id": 331, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1492, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1492, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -92383,7 +98204,10 @@ "goal_text": "coq.term->gref\n (app [global (indt «IsSelfA'.axioms_»), global (indt «nat»)]) X143", "goal_id": 1504 }, - { "goal_text": "!", "goal_id": 1505 }, + { + "goal_text": "!", + "goal_id": 1505 + }, { "goal_text": "std.do!\n [factory-provides X143 X144, list-w-params_list X144 X145, \n std.filter X145 (c0 \\ not (std.mem! [] c0)) X138]", "goal_id": 1506 @@ -92393,6 +98217,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -92891,7 +98716,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -92899,7 +98728,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -92945,7 +98778,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -92984,12 +98821,21 @@ } ], "events": [ - [ "Assign", "A0 := global (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "A1 := X143" ] + [ + "Assign", + "A0 := global (indt «IsSelfA'.axioms_»)" + ], + [ + "Assign", + "A1 := X143" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1507 }, + { + "goal_text": "!", + "goal_id": 1507 + }, { "goal_text": "coq.term->gref (global (indt «IsSelfA'.axioms_»)) X143", "goal_id": 1508 @@ -92999,6 +98845,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -93516,7 +99363,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -93524,7 +99375,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -93570,7 +99425,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -93640,15 +99499,27 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "X143 := indt «IsSelfA'.axioms_»" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "X143 := indt «IsSelfA'.axioms_»" + ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1509 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1509 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -94185,7 +100056,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -94193,7 +100068,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -94239,7 +100118,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -94283,7 +100166,13 @@ { "step_id": 337, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1505, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1505, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -94330,7 +100219,10 @@ "goal_text": "factory-provides (indt «IsSelfA'.axioms_») X144", "goal_id": 1510 }, - { "goal_text": "!", "goal_id": 1511 }, + { + "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_id": 1512 @@ -94340,6 +100232,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -94857,7 +100750,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -94865,7 +100762,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -94911,7 +100812,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -94950,8 +100855,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := X144" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := X144" + ] ] }, "siblings": [ @@ -94964,6 +100875,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -95500,7 +101412,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -95508,7 +101424,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -95554,7 +101474,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -95608,7 +101532,10 @@ "goal_text": "factory-alias->gref (indt «IsSelfA'.axioms_») X150", "goal_id": 1514 }, - { "goal_text": "!", "goal_id": 1515 }, + { + "goal_text": "!", + "goal_id": 1515 + }, { "goal_text": "std.do!\n [gref-deps X150 X151, w-params.map X151 (factory-provides.base X150) X144]", "goal_id": 1516 @@ -95618,6 +101545,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -96173,7 +102101,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -96181,7 +102113,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -96227,7 +102163,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -96266,8 +102206,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := X150" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := X150" + ] ] }, "siblings": [ @@ -96275,12 +102221,18 @@ "goal_text": "phant-abbrev X150 (indt «IsSelfA'.axioms_») _", "goal_id": 1517 }, - { "goal_text": "!", "goal_id": 1518 } + { + "goal_text": "!", + "goal_id": 1518 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 343 ], + "more_successful_attempts": [ + 343 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -96855,7 +102807,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -96863,7 +102819,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -96909,7 +102869,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -96946,7 +102910,10 @@ } ], "events": [ - [ "Assign", "X150 := indt «HasA.axioms_»" ], + [ + "Assign", + "X150 := indt «HasA.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasA.phant_axioms»" @@ -96970,7 +102937,10 @@ } ], "events": [ - [ "Assign", "X150 := indc «HasA.Axioms_»" ], + [ + "Assign", + "X150 := indc «HasA.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasA.phant_Build»" @@ -96994,7 +102964,10 @@ } ], "events": [ - [ "Assign", "X150 := indt «HasB.axioms_»" ], + [ + "Assign", + "X150 := indt «HasB.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasB.phant_axioms»" @@ -97018,7 +102991,10 @@ } ], "events": [ - [ "Assign", "X150 := indc «HasB.Axioms_»" ], + [ + "Assign", + "X150 := indc «HasB.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «HasB.phant_Build»" @@ -97042,7 +103018,10 @@ } ], "events": [ - [ "Assign", "X150 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X150 := indt «IsSelfA.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_axioms»" @@ -97066,7 +103045,10 @@ } ], "events": [ - [ "Assign", "X150 := indc «IsSelfA.Axioms_»" ], + [ + "Assign", + "X150 := indc «IsSelfA.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA.phant_Build»" @@ -97090,7 +103072,10 @@ } ], "events": [ - [ "Assign", "X150 := indt «IsSelfA'.axioms_»" ], + [ + "Assign", + "X150 := indt «IsSelfA'.axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_axioms»" @@ -97114,7 +103099,10 @@ } ], "events": [ - [ "Assign", "X150 := indc «IsSelfA'.Axioms_»" ], + [ + "Assign", + "X150 := indc «IsSelfA'.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA'.axioms_» with const «IsSelfA'.phant_Build»" @@ -97124,6 +103112,7 @@ ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -97717,7 +103706,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -97725,7 +103718,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -97771,7 +103768,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -97810,8 +103811,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "X150 := indt «IsSelfA'.axioms_»" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "X150 := indt «IsSelfA'.axioms_»" + ] ] }, "siblings": [ @@ -97819,12 +103826,16 @@ "goal_text": "phant-abbrev (indt «IsSelfA'.axioms_») _ _", "goal_id": 1519 }, - { "goal_text": "!", "goal_id": 1520 } + { + "goal_text": "!", + "goal_id": 1520 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -98399,7 +104410,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -98407,7 +104422,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -98453,7 +104472,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -98568,6 +104591,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -99161,7 +105185,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -99169,7 +105197,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -99215,7 +105247,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -99295,7 +105331,13 @@ { "step_id": 346, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1515, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1515, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -99328,7 +105370,8 @@ ], "events": [ [ - "Assign", "A0 := gref-deps (indt «IsSelfA'.axioms_») X151" + "Assign", + "A0 := gref-deps (indt «IsSelfA'.axioms_») X151" ], [ "Assign", @@ -99341,7 +105384,10 @@ "goal_text": "gref-deps (indt «IsSelfA'.axioms_») X151", "goal_id": 1521 }, - { "goal_text": "!", "goal_id": 1522 }, + { + "goal_text": "!", + "goal_id": 1522 + }, { "goal_text": "std.do!\n [w-params.map X151 (factory-provides.base (indt «IsSelfA'.axioms_»)) X144]", "goal_id": 1523 @@ -99351,6 +105397,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -99925,7 +105972,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -99933,7 +105984,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -99979,7 +106034,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -100029,6 +106088,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -100622,7 +106682,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -100630,7 +106694,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -100676,7 +106744,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -100689,7 +106761,13 @@ { "step_id": 349, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1522, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1522, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -100725,7 +106803,10 @@ "Assign", "A0 := w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -100733,13 +106814,20 @@ "goal_text": "w-params.map\n (w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []) \n (factory-provides.base (indt «IsSelfA'.axioms_»)) X144", "goal_id": 1524 }, - { "goal_text": "!", "goal_id": 1525 }, - { "goal_text": "std.do! []", "goal_id": 1526 } + { + "goal_text": "!", + "goal_id": 1525 + }, + { + "goal_text": "std.do! []", + "goal_id": 1526 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -101333,7 +107421,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -101341,7 +107433,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -101387,7 +107483,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -101434,7 +107534,10 @@ "Assign", "A1 := factory-provides.base (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "A2 := X144" ] + [ + "Assign", + "A2 := X144" + ] ] }, "siblings": [ @@ -101447,6 +107550,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -102059,7 +108163,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -102067,7 +108175,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -102113,7 +108225,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -102156,13 +108272,22 @@ "Assign", "A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []" ], - [ "Assign", "A1 := mk-w-params.cons-name" ], - [ "Assign", "A2 := mk-w-params.nil-name" ], + [ + "Assign", + "A1 := mk-w-params.cons-name" + ], + [ + "Assign", + "A2 := mk-w-params.nil-name" + ], [ "Assign", "A3 := factory-provides.base (indt «IsSelfA'.axioms_»)" ], - [ "Assign", "A4 := X144" ] + [ + "Assign", + "A4 := X144" + ] ] }, "siblings": [ @@ -102175,6 +108300,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -102806,7 +108932,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -102814,7 +108944,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -102860,7 +108994,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -102903,12 +109041,18 @@ "Assign", "A0 := w-params.nil TheType (sort (typ «interleave_context.382»)) c0 \\ []" ], - [ "Assign", "A1 := mk-w-params.cons-name" ], + [ + "Assign", + "A1 := mk-w-params.cons-name" + ], [ "Assign", "A2 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4" ], - [ "Assign", "A3 := X144" ] + [ + "Assign", + "A3 := X144" + ] ] }, "siblings": [ @@ -102921,6 +109065,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -103571,7 +109716,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -103579,7 +109728,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -103625,7 +109778,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -103664,19 +109821,37 @@ } ], "events": [ - [ "Assign", "A0 := TheType" ], - [ "Assign", "A1 := sort (typ «interleave_context.382»)" ], - [ "Assign", "A2 := c0 \\\n[]" ], + [ + "Assign", + "A0 := TheType" + ], + [ + "Assign", + "A1 := sort (typ «interleave_context.382»)" + ], + [ + "Assign", + "A2 := c0 \\\n[]" + ], [ "Assign", "A3 := c0 \\ c1 \\ c2 \\ c3 \\ c4 \\\nsigma c5 \\\n pi c6 \\\n decl c6 c1 c2 =>\n factory-provides.base (indt «IsSelfA'.axioms_») c0 c6 (c3 c6) (c5 c6) ,\n mk-w-params.nil-name c1 c2 c5 c4" ], - [ "Assign", "A4 := []" ], - [ "Assign", "A5 := X144" ] + [ + "Assign", + "A4 := []" + ], + [ + "Assign", + "A5 := X144" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1530 }, + { + "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 «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]", "goal_id": 1531 @@ -103686,6 +109861,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -104355,7 +110531,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -104363,7 +110543,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -104409,7 +110593,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -104422,7 +110610,13 @@ { "step_id": 355, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1530, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1530, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -104454,7 +110648,10 @@ } ], "events": [ - [ "Assign", "A0 := coq.id->name TheType X152" ], + [ + "Assign", + "A0 := coq.id->name TheType X152" + ], [ "Assign", "A1 := [std.rev [] X153, \n sigma c0 \\\n pi c1 \\\n decl c1 X152 (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) \n c0 X144]" @@ -104462,8 +110659,14 @@ ] }, "siblings": [ - { "goal_text": "coq.id->name TheType X152", "goal_id": 1532 }, - { "goal_text": "!", "goal_id": 1533 }, + { + "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 «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name X152 (sort (typ «interleave_context.382»)) c0 X144]", "goal_id": 1534 @@ -104473,6 +110676,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -105161,7 +111365,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -105169,7 +111377,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -105215,7 +111427,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -105254,7 +111470,14 @@ } ], "events": [ - [ "Assign", "A0 := TheType" ], [ "Assign", "A1 := X152" ] + [ + "Assign", + "A0 := TheType" + ], + [ + "Assign", + "A1 := X152" + ] ] }, "siblings": [ @@ -105267,6 +111490,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -105974,7 +112198,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -105982,7 +112210,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -106028,7 +112260,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -106053,22 +112289,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.string->name", "kind": "FFI", "payload": [] } + { + "name": "coq.string->name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "X152 = `TheType`", "goal_id": 1536 } + { + "goal_text": "X152 = `TheType`", + "goal_id": 1536 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.string->name", "kind": "FFI", "payload": [] } + { + "name": "coq.string->name", + "kind": "FFI", + "payload": [] + } ], "step_id": 358, "runtime_id": 8 @@ -106779,7 +113027,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -106787,7 +113039,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -106833,7 +113089,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -106858,19 +113118,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X152 := `TheType`" ] ] + "events": [ + [ + "Assign", + "X152 := `TheType`" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 359, "runtime_id": 8 @@ -106878,7 +113153,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.string->name", "kind": "FFI", "payload": [] } + { + "name": "coq.string->name", + "kind": "FFI", + "payload": [] + } ], "step_id": 358, "runtime_id": 8 @@ -107589,7 +113868,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -107597,7 +113880,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -107643,7 +113930,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -107656,7 +113947,13 @@ { "step_id": 360, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1533, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1533, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -107688,7 +113985,10 @@ } ], "events": [ - [ "Assign", "A0 := std.rev [] X153" ], + [ + "Assign", + "A0 := std.rev [] X153" + ], [ "Assign", "A1 := [sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] \n (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144]" @@ -107696,8 +113996,14 @@ ] }, "siblings": [ - { "goal_text": "std.rev [] X153", "goal_id": 1537 }, - { "goal_text": "!", "goal_id": 1538 }, + { + "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 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») X153 c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) \n c0 X144]", "goal_id": 1539 @@ -107707,6 +114013,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -108414,7 +114721,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -108422,7 +114733,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -108468,7 +114783,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -108507,16 +114826,27 @@ } ], "events": [ - [ "Assign", "A0 := []" ], [ "Assign", "A1 := X153" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := X153" + ] ] }, "siblings": [ - { "goal_text": "std.rev.aux [] [] X153", "goal_id": 1540 } + { + "goal_text": "std.rev.aux [] [] X153", + "goal_id": 1540 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -109243,7 +115573,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -109251,7 +115585,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -109297,7 +115635,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -109336,7 +115678,14 @@ } ], "events": [ - [ "Assign", "A0 := []" ], [ "Assign", "X153 := []" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "X153 := []" + ] ] }, "siblings": [], @@ -109344,6 +115693,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -110089,7 +116439,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -110097,7 +116451,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -110143,7 +116501,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -110156,7 +116518,13 @@ { "step_id": 364, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1538, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1538, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -110192,7 +116560,10 @@ "Assign", "A0 := sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` \n (sort (typ «interleave_context.382»)) c0 X144" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -110200,13 +116571,20 @@ "goal_text": "sigma c0 \\\n pi c1 \\\n decl c1 `TheType` (sort (typ «interleave_context.382»)) =>\n factory-provides.base (indt «IsSelfA'.axioms_») [] c1 [] (c0 c1) ,\n mk-w-params.nil-name `TheType` (sort (typ «interleave_context.382»)) c0 \n X144", "goal_id": 1541 }, - { "goal_text": "!", "goal_id": 1542 }, - { "goal_text": "std.do! []", "goal_id": 1543 } + { + "goal_text": "!", + "goal_id": 1542 + }, + { + "goal_text": "std.do! []", + "goal_id": 1543 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -110933,7 +117311,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -110941,7 +117323,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -110987,7 +117373,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -111012,7 +117402,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -111026,11 +117420,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -111760,7 +118159,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -111768,7 +118171,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -111814,7 +118221,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -111839,7 +118250,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -111857,11 +118272,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -111869,7 +118289,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -112599,7 +119023,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -112607,7 +119035,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -112653,7 +119085,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -112678,7 +119114,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -112692,10 +119132,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -112703,7 +119149,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -112711,7 +119161,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -113441,7 +119895,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -113449,7 +119907,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -113495,7 +119957,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -113520,7 +119986,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -113534,18 +120004,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -113553,7 +120033,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -113561,7 +120045,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -114291,7 +120779,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -114299,7 +120791,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -114345,7 +120841,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -114384,10 +120884,22 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA'.axioms_»" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := c0" ], - [ "Assign", "A3 := X154 c0" ] + [ + "Assign", + "A0 := indt «IsSelfA'.axioms_»" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := c0" + ], + [ + "Assign", + "A3 := X154 c0" + ] ] }, "siblings": [ @@ -114400,6 +120912,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -114423,14 +120936,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -114438,7 +120960,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -114446,7 +120972,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -115176,7 +121706,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -115184,7 +121718,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -115230,7 +121768,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -115284,7 +121826,10 @@ "goal_text": "std.findall (from (indt «IsSelfA'.axioms_») X155^1 X156^1) X157^1", "goal_id": 1550 }, - { "goal_text": "!", "goal_id": 1551 }, + { + "goal_text": "!", + "goal_id": 1551 + }, { "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-provides.one [] c0) (X154 c0)]", "goal_id": 1552 @@ -115294,6 +121839,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -115336,14 +121882,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -115351,7 +121906,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -115359,7 +121918,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -116089,7 +122652,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -116097,7 +122664,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -116143,7 +122714,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -116186,7 +122761,10 @@ "Assign", "A0 := from (indt «IsSelfA'.axioms_») X155^1 X156^1" ], - [ "Assign", "A1 := X157^1" ] + [ + "Assign", + "A1 := X157^1" + ] ] }, "siblings": [ @@ -116199,6 +122777,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -116260,14 +122839,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -116275,7 +122863,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -116283,7 +122875,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -117013,7 +123609,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -117021,7 +123621,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -117067,7 +123671,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -117312,7 +123920,10 @@ } ], "events": [ - [ "Assign", "X0^1 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X0^1 := indt «IsSelfA.axioms_»" + ], [ "Assign", "X1^1 := const «Builders_18.HB_unnamed_factory_24»" @@ -117323,7 +123934,11 @@ "siblings_aggregated_outcome": "Success" } ], - "more_successful_attempts": [ 2, 3 ], + "more_successful_attempts": [ + 2, + 3 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -117378,7 +123993,10 @@ } ], "events": [ - [ "Assign", "X0^1 := indt «HasB.axioms_»" ], + [ + "Assign", + "X0^1 := indt «HasB.axioms_»" + ], [ "Assign", "X1^1 := const «Builders_18.HB_unnamed_factory_22»" @@ -117389,7 +124007,10 @@ "siblings_aggregated_outcome": "Success" } ], - "more_successful_attempts": [ 3 ], + "more_successful_attempts": [ + 3 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -117444,7 +124065,10 @@ } ], "events": [ - [ "Assign", "X0^1 := indt «HasA.axioms_»" ], + [ + "Assign", + "X0^1 := indt «HasA.axioms_»" + ], [ "Assign", "X1^1 := const «Builders_18.HB_unnamed_factory_20»" @@ -117456,6 +124080,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -117489,7 +124114,11 @@ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 373, "runtime_id": 8 @@ -117554,14 +124183,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -117569,7 +124207,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -117577,7 +124219,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -118307,7 +124953,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -118315,7 +124965,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -118361,7 +125015,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -118374,7 +125032,13 @@ { "step_id": 374, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1551, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1551, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -118421,7 +125085,10 @@ "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_mixin X158^1", "goal_id": 1556 }, - { "goal_text": "!", "goal_id": 1557 }, + { + "goal_text": "!", + "goal_id": 1557 + }, { "goal_text": "std.do!\n [std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1, \n std.map2 X159^1 X158^1 (factory-provides.one [] c0) (X154 c0)]", "goal_id": 1558 @@ -118431,6 +125098,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -118492,14 +125160,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -118507,7 +125184,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -118515,7 +125196,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -119245,7 +125930,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -119253,7 +125942,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -119299,7 +125992,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -119346,8 +126043,14 @@ "Assign", "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" ], - [ "Assign", "A2 := from_mixin" ], - [ "Assign", "X158^1 := [X160^1 | X161^1]" ] + [ + "Assign", + "A2 := from_mixin" + ], + [ + "Assign", + "X158^1 := [X160^1 | X161^1]" + ] ] }, "siblings": [ @@ -119364,6 +126067,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -119444,14 +126148,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -119459,7 +126172,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -119467,7 +126184,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -120197,7 +126918,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -120205,7 +126930,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -120251,7 +126980,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -120290,8 +127023,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA.axioms_»" ], - [ "Assign", "X160^1 := indt «IsSelfA.axioms_»" ] + [ + "Assign", + "A0 := indt «IsSelfA.axioms_»" + ], + [ + "Assign", + "X160^1 := indt «IsSelfA.axioms_»" + ] ] }, "siblings": [], @@ -120299,6 +127038,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -120398,14 +127138,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -120413,7 +127162,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -120421,7 +127174,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -121151,7 +127908,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -121159,7 +127920,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -121205,7 +127970,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -121252,8 +128021,14 @@ "Assign", "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" ], - [ "Assign", "A2 := from_mixin" ], - [ "Assign", "X161^1 := [X162^1 | X163^1]" ] + [ + "Assign", + "A2 := from_mixin" + ], + [ + "Assign", + "X161^1 := [X162^1 | X163^1]" + ] ] }, "siblings": [ @@ -121270,6 +128045,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -121369,14 +128145,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -121384,7 +128169,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -121392,7 +128181,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -122122,7 +128915,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -122130,7 +128927,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -122176,7 +128977,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -122215,8 +129020,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «HasB.axioms_»" ], - [ "Assign", "X162^1 := indt «HasB.axioms_»" ] + [ + "Assign", + "A0 := indt «HasB.axioms_»" + ], + [ + "Assign", + "X162^1 := indt «HasB.axioms_»" + ] ] }, "siblings": [], @@ -122224,6 +129035,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -122342,14 +129154,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -122357,7 +129178,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -122365,7 +129190,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -123095,7 +129924,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -123103,7 +129936,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -123149,7 +129986,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -123192,9 +130033,18 @@ "Assign", "A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := from_mixin" ], - [ "Assign", "X163^1 := [X164^1 | X165^1]" ] + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := from_mixin" + ], + [ + "Assign", + "X163^1 := [X164^1 | X165^1]" + ] ] }, "siblings": [ @@ -123211,6 +130061,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -123329,14 +130180,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -123344,7 +130204,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -123352,7 +130216,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -124082,7 +130950,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -124090,7 +130962,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -124136,7 +131012,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -124175,8 +131055,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «HasA.axioms_»" ], - [ "Assign", "X164^1 := indt «HasA.axioms_»" ] + [ + "Assign", + "A0 := indt «HasA.axioms_»" + ], + [ + "Assign", + "X164^1 := indt «HasA.axioms_»" + ] ] }, "siblings": [], @@ -124184,6 +131070,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -124321,14 +131208,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -124336,7 +131232,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -124344,7 +131244,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -125074,7 +131978,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -125082,7 +131990,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -125128,7 +132040,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -125166,13 +132082,19 @@ ] } ], - "events": [ [ "Assign", "X165^1 := []" ] ] + "events": [ + [ + "Assign", + "X165^1 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -125310,14 +132232,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -125325,7 +132256,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -125333,7 +132268,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -126063,7 +133002,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -126071,7 +133014,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -126117,7 +133064,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -126130,7 +133081,13 @@ { "step_id": 383, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1557, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1557, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -126177,7 +133134,10 @@ "goal_text": "std.map\n [from (indt «IsSelfA'.axioms_») (indt «IsSelfA.axioms_») \n (const «Builders_18.HB_unnamed_factory_24»), \n from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)] from_builder X159^1", "goal_id": 1565 }, - { "goal_text": "!", "goal_id": 1566 }, + { + "goal_text": "!", + "goal_id": 1566 + }, { "goal_text": "std.do!\n [std.map2 X159^1 \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)]", "goal_id": 1567 @@ -126187,6 +133147,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -126267,14 +133228,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -126282,7 +133252,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -126290,7 +133264,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -127020,7 +133998,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -127028,7 +134010,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -127074,7 +134060,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -127121,8 +134111,14 @@ "Assign", "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasB.axioms_») \n (const «Builders_18.HB_unnamed_factory_22»), \n from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" ], - [ "Assign", "A2 := from_builder" ], - [ "Assign", "X159^1 := [X166^1 | X167^1]" ] + [ + "Assign", + "A2 := from_builder" + ], + [ + "Assign", + "X159^1 := [X166^1 | X167^1]" + ] ] }, "siblings": [ @@ -127139,6 +134135,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -127238,14 +134235,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -127253,7 +134259,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -127261,7 +134271,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -127991,7 +135005,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -127999,7 +135017,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -128045,7 +135067,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -128085,7 +135111,8 @@ ], "events": [ [ - "Assign", "A0 := const «Builders_18.HB_unnamed_factory_24»" + "Assign", + "A0 := const «Builders_18.HB_unnamed_factory_24»" ], [ "Assign", @@ -128098,6 +135125,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -128216,14 +135244,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -128231,7 +135268,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -128239,7 +135280,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -128969,7 +136014,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -128977,7 +136026,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -129023,7 +136076,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -129070,8 +136127,14 @@ "Assign", "A1 := [from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)]" ], - [ "Assign", "A2 := from_builder" ], - [ "Assign", "X167^1 := [X168^1 | X169^1]" ] + [ + "Assign", + "A2 := from_builder" + ], + [ + "Assign", + "X167^1 := [X168^1 | X169^1]" + ] ] }, "siblings": [ @@ -129088,6 +136151,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -129206,14 +136270,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -129221,7 +136294,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -129229,7 +136306,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -129959,7 +137040,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -129967,7 +137052,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -130013,7 +137102,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -130053,7 +137146,8 @@ ], "events": [ [ - "Assign", "A0 := const «Builders_18.HB_unnamed_factory_22»" + "Assign", + "A0 := const «Builders_18.HB_unnamed_factory_22»" ], [ "Assign", @@ -130066,6 +137160,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -130203,14 +137298,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -130218,7 +137322,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -130226,7 +137334,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -130956,7 +138068,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -130964,7 +138080,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -131010,7 +138130,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -131053,9 +138177,18 @@ "Assign", "A0 := from (indt «IsSelfA'.axioms_») (indt «HasA.axioms_») \n (const «Builders_18.HB_unnamed_factory_20»)" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := from_builder" ], - [ "Assign", "X169^1 := [X170^1 | X171^1]" ] + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := from_builder" + ], + [ + "Assign", + "X169^1 := [X170^1 | X171^1]" + ] ] }, "siblings": [ @@ -131072,6 +138205,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -131209,14 +138343,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -131224,7 +138367,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -131232,7 +138379,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -131962,7 +139113,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -131970,7 +139125,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -132016,7 +139175,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -132056,7 +139219,8 @@ ], "events": [ [ - "Assign", "A0 := const «Builders_18.HB_unnamed_factory_20»" + "Assign", + "A0 := const «Builders_18.HB_unnamed_factory_20»" ], [ "Assign", @@ -132069,6 +139233,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -132225,14 +139390,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -132240,7 +139414,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -132248,7 +139426,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -132978,7 +140160,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -132986,7 +140172,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -133032,7 +140222,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -133070,13 +140264,19 @@ ] } ], - "events": [ [ "Assign", "X171^1 := []" ] ] + "events": [ + [ + "Assign", + "X171^1 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -133233,14 +140433,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -133248,7 +140457,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -133256,7 +140469,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -133986,7 +141203,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -133994,7 +141215,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -134040,7 +141265,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -134053,7 +141282,13 @@ { "step_id": 392, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1566, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1566, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -134089,7 +141324,10 @@ "Assign", "A0 := std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», \n indt «HasA.axioms_»] (factory-provides.one [] c0) (X154 c0)" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -134097,13 +141335,20 @@ "goal_text": "std.map2\n [global (const «Builders_18.HB_unnamed_factory_24»), \n global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)] \n [indt «IsSelfA.axioms_», indt «HasB.axioms_», indt «HasA.axioms_»] \n (factory-provides.one [] c0) (X154 c0)", "goal_id": 1574 }, - { "goal_text": "!", "goal_id": 1575 }, - { "goal_text": "std.do! []", "goal_id": 1576 } + { + "goal_text": "!", + "goal_id": 1575 + }, + { + "goal_text": "std.do! []", + "goal_id": 1576 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -134203,14 +141448,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -134218,7 +141472,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -134226,7 +141484,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -134956,7 +142218,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -134964,7 +142230,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -135010,7 +142280,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -135057,14 +142331,26 @@ "Assign", "A1 := [global (const «Builders_18.HB_unnamed_factory_22»), \n global (const «Builders_18.HB_unnamed_factory_20»)]" ], - [ "Assign", "A2 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "A2 := indt «IsSelfA.axioms_»" + ], [ "Assign", "A3 := [indt «HasB.axioms_», indt «HasA.axioms_»]" ], - [ "Assign", "A4 := factory-provides.one [] c0" ], - [ "Assign", "X154 := c0 \\\nX172 c0" ], - [ "Assign", "X172^1 := [X173^1 | X174^1]" ] + [ + "Assign", + "A4 := factory-provides.one [] c0" + ], + [ + "Assign", + "X154 := c0 \\\nX172 c0" + ], + [ + "Assign", + "X172^1 := [X173^1 | X174^1]" + ] ] }, "siblings": [ @@ -135081,6 +142367,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -135199,14 +142486,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -135214,7 +142510,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -135222,7 +142522,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -135952,7 +143256,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -135960,7 +143268,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -136006,7 +143318,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -136045,13 +143361,22 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := c0" ], + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := c0" + ], [ "Assign", "A2 := global (const «Builders_18.HB_unnamed_factory_24»)" ], - [ "Assign", "A3 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "A3 := indt «IsSelfA.axioms_»" + ], [ "Assign", "X173^1 := triple (indt «IsSelfA.axioms_») X175^1 c0" @@ -136068,6 +143393,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -136205,14 +143531,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -136220,7 +143555,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -136228,7 +143567,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -136958,7 +144301,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -136966,7 +144313,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -137012,7 +144363,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -137066,7 +144421,10 @@ "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1) \n Builder illtyped", "goal_id": 1580 }, - { "goal_text": "!", "goal_id": 1581 }, + { + "goal_text": "!", + "goal_id": 1581 + }, { "goal_text": "std.do!\n [(coq.subst-prod [] X176^1 X177^1 , coq.subst-prod [c0] X177^1 X178^1), \n std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", "goal_id": 1582 @@ -137076,6 +144434,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -137232,14 +144591,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -137247,7 +144615,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -137255,7 +144627,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -137985,7 +145361,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -137993,7 +145373,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -138039,7 +145423,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -138082,7 +145470,10 @@ "Assign", "A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) \n X176^1" ], - [ "Assign", "A1 := Builder illtyped" ] + [ + "Assign", + "A1 := Builder illtyped" + ] ] }, "siblings": [ @@ -138090,17 +145481,24 @@ "goal_text": "coq.typecheck (global (const «Builders_18.HB_unnamed_factory_24»)) X176^1 \n X179^1", "goal_id": 1583 }, - { "goal_text": "!", "goal_id": 1584 }, + { + "goal_text": "!", + "goal_id": 1584 + }, { "goal_text": "X179^1 = ok ;\n X179^1 = error X180^1 , std.fatal-error-w-data Builder illtyped X180^1", "goal_id": 1585 }, - { "goal_text": "!", "goal_id": 1586 } + { + "goal_text": "!", + "goal_id": 1586 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -138276,14 +145674,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -138291,7 +145698,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -138299,7 +145710,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -139029,7 +146444,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -139037,7 +146456,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -139083,7 +146506,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -139108,7 +146535,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -139117,17 +146548,25 @@ "goal_text": "X176^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]", "goal_id": 1587 }, - { "goal_text": "X179^1 = ok", "goal_id": 1588 } + { + "goal_text": "X179^1 = ok", + "goal_id": 1588 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 398, "runtime_id": 8 @@ -139306,14 +146745,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -139321,7 +146769,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -139329,7 +146781,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -140059,7 +147515,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -140067,7 +147527,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -140113,7 +147577,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -140138,7 +147606,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -140152,10 +147624,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 399, "runtime_id": 8 @@ -140163,7 +147641,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 398, "runtime_id": 8 @@ -140342,14 +147824,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -140357,7 +147848,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -140365,7 +147860,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -141095,7 +148594,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -141103,7 +148606,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -141149,7 +148656,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -141174,19 +148685,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X179^1 := ok" ] ] + "events": [ + [ + "Assign", + "X179^1 := ok" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 400, "runtime_id": 8 @@ -141194,7 +148720,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 398, "runtime_id": 8 @@ -141373,14 +148903,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -141388,7 +148927,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -141396,7 +148939,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -142126,7 +149673,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -142134,7 +149685,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -142180,7 +149735,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -142249,13 +149808,24 @@ ] } ], - "events": [ [ "Assign", "A0 := ok = ok" ] ] + "events": [ + [ + "Assign", + "A0 := ok = ok" + ] + ] }, - "siblings": [ { "goal_text": "ok = ok", "goal_id": 1589 } ], + "siblings": [ + { + "goal_text": "ok = ok", + "goal_id": 1589 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -142450,14 +150020,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -142465,7 +150044,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -142473,7 +150056,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -143203,7 +150790,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -143211,7 +150802,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -143257,7 +150852,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -143282,7 +150881,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -143291,10 +150894,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 403, "runtime_id": 8 @@ -143492,14 +151101,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -143507,7 +151125,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -143515,7 +151137,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -144245,7 +151871,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -144253,7 +151883,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -144299,7 +151933,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -144343,7 +151981,13 @@ { "step_id": 405, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1581, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1581, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -144390,7 +152034,10 @@ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]) \n X177^1 , coq.subst-prod [c0] X177^1 X178^1", "goal_id": 1590 }, - { "goal_text": "!", "goal_id": 1591 }, + { + "goal_text": "!", + "goal_id": 1591 + }, { "goal_text": "std.do!\n [std.assert! (extract-conclusion-params c0 X178^1 X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", "goal_id": 1592 @@ -144400,6 +152047,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -144575,14 +152223,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -144590,7 +152247,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -144598,7 +152259,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -145328,7 +152993,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -145336,7 +153005,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -145382,7 +153055,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -145407,7 +153084,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -145425,11 +153106,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 407, "runtime_id": 8 @@ -145608,14 +153294,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -145623,7 +153318,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -145631,7 +153330,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -146361,7 +154064,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -146369,7 +154076,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -146415,7 +154126,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -146464,11 +154179,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1595 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1595 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -146492,7 +154213,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 407, "runtime_id": 8 @@ -146671,14 +154396,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -146686,7 +154420,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -146694,7 +154432,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -147424,7 +155166,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -147432,7 +155178,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -147478,7 +155228,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -147548,17 +155302,29 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := []" ], + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := []" + ], [ "Assign", "A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «IsSelfA.axioms_»), c1, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c1, c2], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c1, c2]]" ], - [ "Assign", "A3 := X178^1" ] + [ + "Assign", + "A3 := X178^1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1596 }, + { + "goal_text": "!", + "goal_id": 1596 + }, { "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X178^1", "goal_id": 1597 @@ -147568,6 +155334,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -147591,7 +155358,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 407, "runtime_id": 8 @@ -147770,14 +155541,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -147785,7 +155565,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -147793,7 +155577,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -148523,7 +156311,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -148531,7 +156323,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -148577,7 +156373,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -148675,11 +156475,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1598 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1598 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -148722,7 +156528,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 407, "runtime_id": 8 @@ -148901,14 +156711,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -148916,7 +156735,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -148924,7 +156747,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -149654,7 +157481,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -149662,7 +157493,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -149708,7 +157543,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -149752,7 +157591,13 @@ { "step_id": 414, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1591, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1591, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -149788,7 +157633,10 @@ "Assign", "A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app\n [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app\n [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -149796,13 +157644,20 @@ "goal_text": "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins", "goal_id": 1599 }, - { "goal_text": "!", "goal_id": 1600 }, - { "goal_text": "std.do! []", "goal_id": 1601 } + { + "goal_text": "!", + "goal_id": 1600 + }, + { + "goal_text": "std.do! []", + "goal_id": 1601 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -149997,14 +157852,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -150012,7 +157876,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -150020,7 +157888,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -150750,7 +158622,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -150758,7 +158634,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -150804,7 +158684,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -150858,12 +158742,16 @@ "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1)", "goal_id": 1602 }, - { "goal_text": "!", "goal_id": 1603 } + { + "goal_text": "!", + "goal_id": 1603 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -151077,14 +158965,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -151092,7 +158989,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -151100,7 +159001,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -151830,7 +159735,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -151838,7 +159747,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -151884,7 +159797,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -151939,6 +159856,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -152171,14 +160089,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -152186,7 +160113,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -152194,7 +160125,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -152924,7 +160859,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -152932,7 +160871,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -152978,7 +160921,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -153017,7 +160964,10 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Assign", "A1 := app [global (const «IsSelfA'.phant_axioms»), c0]" @@ -153026,11 +160976,17 @@ "Assign", "A2 := c1 \\\napp\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" ], - [ "Assign", "A3 := X175^1" ] + [ + "Assign", + "A3 := X175^1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1605 }, + { + "goal_text": "!", + "goal_id": 1605 + }, { "goal_text": "pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]) \n X175^1", "goal_id": 1606 @@ -153040,6 +160996,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -153291,14 +161248,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -153306,7 +161272,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -153314,7 +161284,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -154044,7 +162018,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -154052,7 +162030,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -154098,7 +162080,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -154172,7 +162158,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -154186,10 +162176,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -154444,14 +162440,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -154459,7 +162464,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -154467,7 +162476,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -155197,7 +163210,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -155205,7 +163222,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -155251,7 +163272,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -155276,7 +163301,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -155290,18 +163319,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -155556,14 +163595,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -155571,7 +163619,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -155579,7 +163631,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -156309,7 +164365,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -156317,7 +164377,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -156363,7 +164427,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -156400,7 +164468,10 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Fail", "match\n app\n [global (indt «IsSelfA.axioms_»), c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] with\n prod _ A1 A2" @@ -156427,17 +164498,29 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := indt «IsSelfA.axioms_»" + ], [ "Assign", "A2 := [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" ], - [ "Assign", "A3 := X175^1" ] + [ + "Assign", + "A3 := X175^1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1609 }, + { + "goal_text": "!", + "goal_id": 1609 + }, { "goal_text": "factory-alias->gref (indt «IsSelfA.axioms_») X181^2", "goal_id": 1610 @@ -156459,6 +164542,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -156482,14 +164566,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -156744,14 +164837,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -156759,7 +164861,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -156767,7 +164873,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -157497,7 +165607,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -157505,7 +165619,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -157551,7 +165669,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -157621,8 +165743,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA.axioms_»" ], - [ "Assign", "A1 := X181^2" ] + [ + "Assign", + "A0 := indt «IsSelfA.axioms_»" + ], + [ + "Assign", + "A1 := X181^2" + ] ] }, "siblings": [ @@ -157630,12 +165758,18 @@ "goal_text": "phant-abbrev X181^2 (indt «IsSelfA.axioms_») _", "goal_id": 1614 }, - { "goal_text": "!", "goal_id": 1615 } + { + "goal_text": "!", + "goal_id": 1615 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 426 ], + "more_successful_attempts": [ + 426 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -157678,14 +165812,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -157940,14 +166083,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -157955,7 +166107,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -157963,7 +166119,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -158693,7 +166853,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -158701,7 +166865,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -158747,7 +166915,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -158784,7 +166956,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indt «HasA.axioms_»" ], + [ + "Assign", + "X181^2 := indt «HasA.axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «HasA.phant_axioms»" @@ -158808,7 +166983,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indc «HasA.Axioms_»" ], + [ + "Assign", + "X181^2 := indc «HasA.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «HasA.phant_Build»" @@ -158832,7 +167010,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indt «HasB.axioms_»" ], + [ + "Assign", + "X181^2 := indt «HasB.axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «HasB.phant_axioms»" @@ -158856,7 +167037,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indc «HasB.Axioms_»" ], + [ + "Assign", + "X181^2 := indc «HasB.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «HasB.phant_Build»" @@ -158880,7 +167064,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X181^2 := indt «IsSelfA.axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_axioms»" @@ -158904,7 +167091,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indc «IsSelfA.Axioms_»" ], + [ + "Assign", + "X181^2 := indc «IsSelfA.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «IsSelfA.phant_Build»" @@ -158928,7 +167118,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indt «IsSelfA'.axioms_»" ], + [ + "Assign", + "X181^2 := indt «IsSelfA'.axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_axioms»" @@ -158952,7 +167145,10 @@ } ], "events": [ - [ "Assign", "X181^2 := indc «IsSelfA'.Axioms_»" ], + [ + "Assign", + "X181^2 := indc «IsSelfA'.Axioms_»" + ], [ "Fail", "unify indt «IsSelfA.axioms_» with const «IsSelfA'.phant_Build»" @@ -158962,6 +167158,7 @@ ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -159023,14 +167220,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -159285,14 +167491,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -159300,7 +167515,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -159308,7 +167527,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -160038,7 +168261,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -160046,7 +168273,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -160092,7 +168323,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -160131,8 +168366,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «IsSelfA.axioms_»" ], - [ "Assign", "X181^2 := indt «IsSelfA.axioms_»" ] + [ + "Assign", + "A0 := indt «IsSelfA.axioms_»" + ], + [ + "Assign", + "X181^2 := indt «IsSelfA.axioms_»" + ] ] }, "siblings": [ @@ -160140,12 +168381,16 @@ "goal_text": "phant-abbrev (indt «IsSelfA.axioms_») _ _", "goal_id": 1616 }, - { "goal_text": "!", "goal_id": 1617 } + { + "goal_text": "!", + "goal_id": 1617 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -160188,14 +168433,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -160450,14 +168704,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -160465,7 +168728,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -160473,7 +168740,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -161203,7 +169474,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -161211,7 +169486,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -161257,7 +169536,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -161349,6 +169632,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -161410,14 +169694,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -161672,14 +169965,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -161687,7 +169989,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -161695,7 +170001,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -162425,7 +170735,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -162433,7 +170747,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -162479,7 +170797,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -162625,7 +170947,8 @@ ], "events": [ [ - "Fail", "unify indt «IsSelfA.axioms_» with indt «A.axioms_»" + "Fail", + "unify indt «IsSelfA.axioms_» with indt «A.axioms_»" ] ] }, @@ -162670,7 +170993,8 @@ ], "events": [ [ - "Fail", "unify indt «IsSelfA.axioms_» with indt «B.axioms_»" + "Fail", + "unify indt «IsSelfA.axioms_» with indt «B.axioms_»" ] ] } @@ -162693,13 +171017,19 @@ ] } ], - "events": [ [ "Assign", "X182^2 := 0" ] ] + "events": [ + [ + "Assign", + "X182^2 := 0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -162742,14 +171072,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -163004,14 +171343,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -163019,7 +171367,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -163027,7 +171379,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -163757,7 +172113,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -163765,7 +172125,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -163811,7 +172175,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -163850,13 +172218,22 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Assign", "A1 := [app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" ], - [ "Assign", "A2 := copy-pack-holes c0" ], - [ "Assign", "X183^2 := [X184^2 | X185^2]" ] + [ + "Assign", + "A2 := copy-pack-holes c0" + ], + [ + "Assign", + "X183^2 := [X184^2 | X185^2]" + ] ] }, "siblings": [ @@ -163873,6 +172250,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -163915,14 +172293,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -164177,14 +172564,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -164192,7 +172588,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -164200,7 +172600,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -164930,7 +173334,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -164938,7 +173346,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -164984,7 +173396,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -165023,9 +173439,18 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := c0" ], - [ "Assign", "A2 := X184^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := c0" + ], + [ + "Assign", + "A2 := X184^2" + ] ] }, "siblings": [ @@ -165046,6 +173471,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -165107,14 +173533,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -165369,14 +173804,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -165384,7 +173828,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -165392,7 +173840,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -166122,7 +174574,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -166130,7 +174586,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -166176,7 +174636,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -166214,7 +174678,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X186^2" ] ] + "events": [ + [ + "Assign", + "A0 := X186^2" + ] + ] }, "siblings": [ { @@ -166230,6 +174699,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -166310,14 +174780,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -166572,14 +175051,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -166587,7 +175075,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -166595,7 +175087,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -167325,7 +175821,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -167333,7 +175833,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -167379,7 +175883,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -167418,8 +175926,14 @@ } ], "events": [ - [ "Assign", "A0 := local-canonical X189^2" ], - [ "Assign", "A1 := X190^2" ] + [ + "Assign", + "A0 := local-canonical X189^2" + ], + [ + "Assign", + "A1 := X190^2" + ] ] }, "siblings": [ @@ -167432,6 +175946,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -167531,14 +176046,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -167793,14 +176317,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -167808,7 +176341,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -167816,7 +176353,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -168546,7 +177087,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -168554,7 +177099,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -168600,7 +177149,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -168624,7 +177177,10 @@ "runtime_id": 11, "step": [ "Init", - { "goal_text": "local-canonical X0^2", "goal_id": 1627 } + { + "goal_text": "local-canonical X0^2", + "goal_id": 1627 + } ], "color": "Grey" }, @@ -168640,18 +177196,25 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [] } ], "color": "Red" } ], - "findall_solution_text": [ "X190^2 := []" ], + "findall_solution_text": [ + "X190^2 := []" + ], "findall_stack": [ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 434, "runtime_id": 8 @@ -168754,14 +177317,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -169016,14 +177588,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -169031,7 +177612,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -169039,7 +177624,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -169769,7 +178358,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -169777,7 +178370,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -169823,7 +178420,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -169861,13 +178462,19 @@ ] } ], - "events": [ [ "Assign", "X186^2 := []" ] ] + "events": [ + [ + "Assign", + "X186^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -169967,14 +178574,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -170229,14 +178845,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -170244,7 +178869,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -170252,7 +178881,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -170982,7 +179615,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -170990,7 +179627,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -171036,7 +179677,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -171074,13 +179719,19 @@ ] } ], - "events": [ [ "Assign", "X187^2 := []" ] ] + "events": [ + [ + "Assign", + "X187^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -171161,14 +179812,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -171423,14 +180083,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -171438,7 +180107,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -171446,7 +180119,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -172176,7 +180853,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -172184,7 +180865,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -172230,7 +180915,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -172255,22 +180944,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "copy c0 X184^2", "goal_id": 1628 } + { + "goal_text": "copy c0 X184^2", + "goal_id": 1628 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 437, "runtime_id": 8 @@ -172335,14 +181036,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -172597,14 +181307,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -172612,7 +181331,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -172620,7 +181343,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -173350,7 +182077,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -173358,7 +182089,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -173404,7 +182139,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -173443,19 +182182,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X184^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := X184^2" + ] ] }, "siblings": [ - { "goal_text": "name c0", "goal_id": 1629 }, - { "goal_text": "!", "goal_id": 1630 }, - { "goal_text": "c0 = X184^2", "goal_id": 1631 }, - { "goal_text": "!", "goal_id": 1632 } + { + "goal_text": "name c0", + "goal_id": 1629 + }, + { + "goal_text": "!", + "goal_id": 1630 + }, + { + "goal_text": "c0 = X184^2", + "goal_id": 1631 + }, + { + "goal_text": "!", + "goal_id": 1632 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -173479,7 +182238,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 437, "runtime_id": 8 @@ -173544,14 +182307,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -173806,14 +182578,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -173821,7 +182602,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -173829,7 +182614,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -174559,7 +183348,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -174567,7 +183360,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -174613,7 +183410,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -174638,19 +183439,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1633 } ], + "siblings": [ + { + "goal_text": "c0 = c0", + "goal_id": 1633 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 439, "runtime_id": 8 @@ -174677,7 +183493,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 437, "runtime_id": 8 @@ -174742,14 +183562,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -175004,14 +183833,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -175019,7 +183857,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -175027,7 +183869,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -175757,7 +184603,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -175765,7 +184615,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -175811,7 +184665,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -175836,7 +184694,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -175845,17 +184707,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 440, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 439, "runtime_id": 8 @@ -175882,7 +184755,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 437, "runtime_id": 8 @@ -175947,14 +184824,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -176209,14 +185095,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -176224,7 +185119,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -176232,7 +185131,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -176962,7 +185865,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -176970,7 +185877,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -177016,7 +185927,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -177029,7 +185944,13 @@ { "step_id": 441, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1630, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1630, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -177047,19 +185968,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X184 c0 c1 := c0" ] ] + "events": [ + [ + "Assign", + "X184 c0 c1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 442, "runtime_id": 8 @@ -177086,7 +186022,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 437, "runtime_id": 8 @@ -177151,14 +186091,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -177413,14 +186362,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -177428,7 +186386,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -177436,7 +186398,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -178166,7 +187132,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -178174,7 +187144,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -178220,7 +187194,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -178233,7 +187211,13 @@ { "step_id": 443, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1632, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1632, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -178273,8 +187257,14 @@ "Assign", "A1 := [app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]]" ], - [ "Assign", "A2 := copy-pack-holes c0" ], - [ "Assign", "X185^2 := [X191^2 | X192^2]" ] + [ + "Assign", + "A2 := copy-pack-holes c0" + ], + [ + "Assign", + "X185^2 := [X191^2 | X192^2]" + ] ] }, "siblings": [ @@ -178291,6 +187281,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -178352,14 +187343,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -178614,14 +187614,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -178629,7 +187638,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -178637,7 +187650,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -179367,7 +188384,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -179375,7 +188396,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -179421,7 +188446,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -179460,12 +188489,18 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Assign", "A1 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" ], - [ "Assign", "A2 := X191^2" ] + [ + "Assign", + "A2 := X191^2" + ] ] }, "siblings": [ @@ -179486,6 +188521,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -179566,14 +188602,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -179828,14 +188873,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -179843,7 +188897,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -179851,7 +188909,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -180581,7 +189643,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -180589,7 +189655,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -180635,7 +189705,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -180673,7 +189747,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X193^2" ] ] + "events": [ + [ + "Assign", + "A0 := X193^2" + ] + ] }, "siblings": [ { @@ -180689,6 +189768,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -180788,14 +189868,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -181050,14 +190139,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -181065,7 +190163,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -181073,7 +190175,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -181803,7 +190909,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -181811,7 +190921,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -181857,7 +190971,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -181896,8 +191014,14 @@ } ], "events": [ - [ "Assign", "A0 := local-canonical X196^2" ], - [ "Assign", "A1 := X197^2" ] + [ + "Assign", + "A0 := local-canonical X196^2" + ], + [ + "Assign", + "A1 := X197^2" + ] ] }, "siblings": [ @@ -181910,6 +191034,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -182028,14 +191153,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -182290,14 +191424,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -182305,7 +191448,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -182313,7 +191460,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -183043,7 +192194,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -183051,7 +192206,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -183097,7 +192256,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -183121,7 +192284,10 @@ "runtime_id": 12, "step": [ "Init", - { "goal_text": "local-canonical X0^2", "goal_id": 1643 } + { + "goal_text": "local-canonical X0^2", + "goal_id": 1643 + } ], "color": "Grey" }, @@ -183137,18 +192303,25 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [] } ], "color": "Red" } ], - "findall_solution_text": [ "X197^2 := []" ], + "findall_solution_text": [ + "X197^2 := []" + ], "findall_stack": [ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 448, "runtime_id": 8 @@ -183270,14 +192443,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -183532,14 +192714,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -183547,7 +192738,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -183555,7 +192750,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -184285,7 +193484,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -184293,7 +193496,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -184339,7 +193546,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -184377,13 +193588,19 @@ ] } ], - "events": [ [ "Assign", "X193^2 := []" ] ] + "events": [ + [ + "Assign", + "X193^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -184502,14 +193719,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -184764,14 +193990,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -184779,7 +194014,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -184787,7 +194026,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -185517,7 +194760,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -185525,7 +194772,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -185571,7 +194822,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -185609,13 +194864,19 @@ ] } ], - "events": [ [ "Assign", "X194^2 := []" ] ] + "events": [ + [ + "Assign", + "X194^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -185715,14 +194976,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -185977,14 +195247,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -185992,7 +195271,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -186000,7 +195283,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -186730,7 +196017,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -186738,7 +196029,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -186784,7 +196079,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -186809,7 +196108,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -186823,11 +196126,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -186911,14 +196219,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -187173,14 +196490,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -187188,7 +196514,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -187196,7 +196526,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -187926,7 +197260,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -187934,7 +197272,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -187980,7 +197322,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -188007,14 +197353,21 @@ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1).", - "rule_loc": [ "Context", 451 ] + "rule_loc": [ + "Context", + 451 + ] } ], "events": [ [ - "Assign", "A5 := const «Builders_18.HB_unnamed_factory_20»" + "Assign", + "A5 := const «Builders_18.HB_unnamed_factory_20»" + ], + [ + "Assign", + "A0 := [c0, c1]" ], - [ "Assign", "A0 := [c0, c1]" ], [ "Assign", "X191^2 := app [global (const «Builders_18.HB_unnamed_factory_20») | X198^2]" @@ -188026,13 +197379,22 @@ "goal_text": "pack? (const «Builders_18.HB_unnamed_factory_20») _", "goal_id": 1645 }, - { "goal_text": "!", "goal_id": 1646 }, + { + "goal_text": "!", + "goal_id": 1646 + }, { "goal_text": "std.rev [c0, c1] [X199^2, c0 | X200^2]", "goal_id": 1647 }, - { "goal_text": "copy c0 X195^2", "goal_id": 1648 }, - { "goal_text": "std.map X200^2 copy X201^2", "goal_id": 1649 }, + { + "goal_text": "copy c0 X195^2", + "goal_id": 1648 + }, + { + "goal_text": "std.map X200^2 copy X201^2", + "goal_id": 1649 + }, { "goal_text": "std.rev [global (const «elpi.hole»), X195^2 | X201^2] X198^2", "goal_id": 1650 @@ -188041,14 +197403,21 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 454, 456 ], + "more_successful_attempts": [ + 454, + 456 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1).", - "rule_loc": [ "Context", 451 ] + "rule_loc": [ + "Context", + 451 + ] } ], "step_id": 452, @@ -188057,7 +197426,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -188141,14 +197514,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -188403,14 +197785,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -188418,7 +197809,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -188426,7 +197821,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -189156,7 +198555,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -189164,7 +198567,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -189210,7 +198617,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -189232,13 +198643,17 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X195^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X195^2 | A4] A1).", - "rule_loc": [ "Context", 451 ] + "rule_loc": [ + "Context", + 451 + ] } ], "step_id": 452, @@ -189247,7 +198662,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -189331,14 +198750,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -189593,14 +199021,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -189608,7 +199045,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -189616,7 +199057,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -190346,7 +199791,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -190354,7 +199803,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -190400,7 +199853,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -190443,7 +199900,10 @@ "Assign", "A0 := app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" ], - [ "Assign", "A1 := X191^2" ] + [ + "Assign", + "A1 := X191^2" + ] ] }, "siblings": [ @@ -190451,17 +199911,26 @@ "goal_text": "name (app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1])", "goal_id": 1651 }, - { "goal_text": "!", "goal_id": 1652 }, + { + "goal_text": "!", + "goal_id": 1652 + }, { "goal_text": "app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] = X191^2", "goal_id": 1653 }, - { "goal_text": "!", "goal_id": 1654 } + { + "goal_text": "!", + "goal_id": 1654 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 456 ], + "more_successful_attempts": [ + 456 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -190485,7 +199954,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -190569,14 +200042,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -190831,14 +200313,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -190846,7 +200337,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -190854,7 +200349,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -191584,7 +201083,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -191592,7 +201095,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -191638,7 +201145,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -191660,17 +201171,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 455, "runtime_id": 8 @@ -191697,7 +201219,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -191781,14 +201307,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -192043,14 +201578,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -192058,7 +201602,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -192066,7 +201614,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -192796,7 +202348,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -192804,7 +202360,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -192850,7 +202410,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -192893,11 +202457,17 @@ "Assign", "A0 := [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1]" ], - [ "Assign", "X191^2 := app X202^2" ] + [ + "Assign", + "X191^2 := app X202^2" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1655 }, + { + "goal_text": "!", + "goal_id": 1655 + }, { "goal_text": "std.map [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1] copy \n X202^2", "goal_id": 1656 @@ -192907,6 +202477,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -192930,7 +202501,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -193014,14 +202589,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -193276,14 +202860,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -193291,7 +202884,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -193299,7 +202896,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -194029,7 +203630,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -194037,7 +203642,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -194083,7 +203692,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -194096,7 +203709,13 @@ { "step_id": 457, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1655, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1655, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -194132,9 +203751,18 @@ "Assign", "A0 := global (const «Builders_18.HB_unnamed_factory_20»)" ], - [ "Assign", "A1 := [c0, c1]" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X202^2 := [X203^2 | X204^2]" ] + [ + "Assign", + "A1 := [c0, c1]" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X202^2 := [X203^2 | X204^2]" + ] ] }, "siblings": [ @@ -194151,6 +203779,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -194193,7 +203822,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -194277,14 +203910,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -194539,14 +204181,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -194554,7 +204205,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -194562,7 +204217,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -195292,7 +204951,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -195300,7 +204963,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -195346,7 +205013,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -195389,7 +205060,10 @@ "Assign", "A0 := global (const «Builders_18.HB_unnamed_factory_20»)" ], - [ "Assign", "A1 := X203^2" ] + [ + "Assign", + "A1 := X203^2" + ] ] }, "siblings": [ @@ -195397,17 +205071,26 @@ "goal_text": "name (global (const «Builders_18.HB_unnamed_factory_20»))", "goal_id": 1659 }, - { "goal_text": "!", "goal_id": 1660 }, + { + "goal_text": "!", + "goal_id": 1660 + }, { "goal_text": "global (const «Builders_18.HB_unnamed_factory_20») = X203^2", "goal_id": 1661 }, - { "goal_text": "!", "goal_id": 1662 } + { + "goal_text": "!", + "goal_id": 1662 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 461 ], + "more_successful_attempts": [ + 461 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -195469,7 +205152,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -195553,14 +205240,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -195815,14 +205511,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -195830,7 +205535,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -195838,7 +205547,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -196568,7 +206281,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -196576,7 +206293,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -196622,7 +206343,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -196644,17 +206369,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 460, "runtime_id": 8 @@ -196719,7 +206455,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -196803,14 +206543,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -197065,14 +206814,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -197080,7 +206838,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -197088,7 +206850,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -197818,7 +207584,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -197826,7 +207596,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -197872,7 +207646,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -197921,11 +207699,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1663 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1663 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -197987,7 +207771,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -198071,14 +207859,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -198333,14 +208130,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -198348,7 +208154,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -198356,7 +208166,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -199086,7 +208900,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -199094,7 +208912,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -199140,7 +208962,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -199153,7 +208979,13 @@ { "step_id": 462, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1663, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1663, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -199185,20 +209017,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := [c1]" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X204^2 := [X205^2 | X206^2]" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := [c1]" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X204^2 := [X205^2 | X206^2]" + ] ] }, "siblings": [ - { "goal_text": "copy c0 X205^2", "goal_id": 1664 }, - { "goal_text": "std.map [c1] copy X206^2", "goal_id": 1665 } + { + "goal_text": "copy c0 X205^2", + "goal_id": 1664 + }, + { + "goal_text": "std.map [c1] copy X206^2", + "goal_id": 1665 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -199260,7 +209111,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -199344,14 +209199,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -199606,14 +209470,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -199621,7 +209494,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -199629,7 +209506,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -200359,7 +210240,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -200367,7 +210252,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -200413,7 +210302,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -200452,19 +210345,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X205^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := X205^2" + ] ] }, "siblings": [ - { "goal_text": "name c0", "goal_id": 1666 }, - { "goal_text": "!", "goal_id": 1667 }, - { "goal_text": "c0 = X205^2", "goal_id": 1668 }, - { "goal_text": "!", "goal_id": 1669 } + { + "goal_text": "name c0", + "goal_id": 1666 + }, + { + "goal_text": "!", + "goal_id": 1667 + }, + { + "goal_text": "c0 = X205^2", + "goal_id": 1668 + }, + { + "goal_text": "!", + "goal_id": 1669 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -200545,7 +210458,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -200629,14 +210546,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -200891,14 +210817,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -200906,7 +210841,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -200914,7 +210853,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -201644,7 +211587,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -201652,7 +211599,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -201698,7 +211649,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -201723,19 +211678,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1670 } ], + "siblings": [ + { + "goal_text": "c0 = c0", + "goal_id": 1670 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 465, "runtime_id": 8 @@ -201819,7 +211789,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -201903,14 +211877,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -202165,14 +212148,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -202180,7 +212172,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -202188,7 +212184,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -202918,7 +212918,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -202926,7 +212930,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -202972,7 +212980,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -202997,7 +213009,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -203006,17 +213022,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 466, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 465, "runtime_id": 8 @@ -203100,7 +213127,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -203184,14 +213215,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -203446,14 +213486,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -203461,7 +213510,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -203469,7 +213522,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -204199,7 +214256,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -204207,7 +214268,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -204253,7 +214318,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -204266,7 +214335,13 @@ { "step_id": 467, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1667, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1667, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -204284,19 +214359,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X205 c0 c1 := c0" ] ] + "events": [ + [ + "Assign", + "X205 c0 c1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 468, "runtime_id": 8 @@ -204380,7 +214470,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -204464,14 +214558,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -204726,14 +214829,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -204741,7 +214853,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -204749,7 +214865,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -205479,7 +215599,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -205487,7 +215611,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -205533,7 +215661,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -205546,7 +215678,13 @@ { "step_id": 469, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1669, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1669, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -205578,20 +215716,39 @@ } ], "events": [ - [ "Assign", "A0 := c1" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X206^2 := [X207^2 | X208^2]" ] + [ + "Assign", + "A0 := c1" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X206^2 := [X207^2 | X208^2]" + ] ] }, "siblings": [ - { "goal_text": "copy c1 X207^2", "goal_id": 1671 }, - { "goal_text": "std.map [] copy X208^2", "goal_id": 1672 } + { + "goal_text": "copy c1 X207^2", + "goal_id": 1671 + }, + { + "goal_text": "std.map [] copy X208^2", + "goal_id": 1672 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -205672,7 +215829,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -205756,14 +215917,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -206018,14 +216188,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -206033,7 +216212,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -206041,7 +216224,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -206771,7 +216958,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -206779,7 +216970,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -206825,7 +217020,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -206864,19 +217063,39 @@ } ], "events": [ - [ "Assign", "A0 := c1" ], [ "Assign", "A1 := X207^2" ] + [ + "Assign", + "A0 := c1" + ], + [ + "Assign", + "A1 := X207^2" + ] ] }, "siblings": [ - { "goal_text": "name c1", "goal_id": 1673 }, - { "goal_text": "!", "goal_id": 1674 }, - { "goal_text": "c1 = X207^2", "goal_id": 1675 }, - { "goal_text": "!", "goal_id": 1676 } + { + "goal_text": "name c1", + "goal_id": 1673 + }, + { + "goal_text": "!", + "goal_id": 1674 + }, + { + "goal_text": "c1 = X207^2", + "goal_id": 1675 + }, + { + "goal_text": "!", + "goal_id": 1676 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -206976,7 +217195,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -207060,14 +217283,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -207322,14 +217554,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -207337,7 +217578,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -207345,7 +217590,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -208075,7 +218324,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -208083,7 +218336,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -208129,7 +218386,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -208154,19 +218415,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c1 = c1", "goal_id": 1677 } ], + "siblings": [ + { + "goal_text": "c1 = c1", + "goal_id": 1677 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 472, "runtime_id": 8 @@ -208269,7 +218545,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -208353,14 +218633,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -208615,14 +218904,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -208630,7 +218928,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -208638,7 +218940,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -209368,7 +219674,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -209376,7 +219686,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -209422,7 +219736,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -209447,7 +219765,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -209456,17 +219778,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 473, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 472, "runtime_id": 8 @@ -209569,7 +219902,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -209653,14 +219990,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -209915,14 +220261,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -209930,7 +220285,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -209938,7 +220297,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -210668,7 +221031,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -210676,7 +221043,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -210722,7 +221093,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -210735,7 +221110,13 @@ { "step_id": 474, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1674, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1674, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -210753,19 +221134,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X207 c0 c1 := c1" ] ] + "events": [ + [ + "Assign", + "X207 c0 c1 := c1" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 475, "runtime_id": 8 @@ -210868,7 +221264,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -210952,14 +221352,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -211214,14 +221623,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -211229,7 +221647,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -211237,7 +221659,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -211967,7 +222393,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -211975,7 +222405,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -212021,7 +222455,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -212034,7 +222472,13 @@ { "step_id": 476, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1676, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1676, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -212065,13 +222509,19 @@ ] } ], - "events": [ [ "Assign", "X208^2 := []" ] ] + "events": [ + [ + "Assign", + "X208^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -212171,7 +222621,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 451, "runtime_id": 8 @@ -212255,14 +222709,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -212517,14 +222980,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -212532,7 +223004,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -212540,7 +223016,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -213270,7 +223750,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -213278,7 +223762,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -213324,7 +223812,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -213367,9 +223859,18 @@ "Assign", "A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := copy-pack-holes c0" ], - [ "Assign", "X192^2 := [X209^2 | X210^2]" ] + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := copy-pack-holes c0" + ], + [ + "Assign", + "X192^2 := [X209^2 | X210^2]" + ] ] }, "siblings": [ @@ -213386,6 +223887,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -213466,14 +223968,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -213728,14 +224239,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -213743,7 +224263,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -213751,7 +224275,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -214481,7 +225009,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -214489,7 +225021,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -214535,7 +225071,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -214574,12 +225114,18 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Assign", "A1 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" ], - [ "Assign", "A2 := X209^2" ] + [ + "Assign", + "A2 := X209^2" + ] ] }, "siblings": [ @@ -214600,6 +225146,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -214699,14 +225246,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -214961,14 +225517,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -214976,7 +225541,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -214984,7 +225553,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -215714,7 +226287,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -215722,7 +226299,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -215768,7 +226349,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -215806,7 +226391,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X211^2" ] ] + "events": [ + [ + "Assign", + "A0 := X211^2" + ] + ] }, "siblings": [ { @@ -215822,6 +226412,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -215940,14 +226531,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -216202,14 +226802,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -216217,7 +226826,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -216225,7 +226838,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -216955,7 +227572,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -216963,7 +227584,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -217009,7 +227634,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -217048,8 +227677,14 @@ } ], "events": [ - [ "Assign", "A0 := local-canonical X214^2" ], - [ "Assign", "A1 := X215^2" ] + [ + "Assign", + "A0 := local-canonical X214^2" + ], + [ + "Assign", + "A1 := X215^2" + ] ] }, "siblings": [ @@ -217062,6 +227697,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -217199,14 +227835,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -217461,14 +228106,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -217476,7 +228130,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -217484,7 +228142,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -218214,7 +228876,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -218222,7 +228888,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -218268,7 +228938,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -218292,7 +228966,10 @@ "runtime_id": 13, "step": [ "Init", - { "goal_text": "local-canonical X0^2", "goal_id": 1687 } + { + "goal_text": "local-canonical X0^2", + "goal_id": 1687 + } ], "color": "Grey" }, @@ -218308,18 +228985,25 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [] } ], "color": "Red" } ], - "findall_solution_text": [ "X215^2 := []" ], + "findall_solution_text": [ + "X215^2 := []" + ], "findall_stack": [ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 482, "runtime_id": 8 @@ -218460,14 +229144,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -218722,14 +229415,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -218737,7 +229439,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -218745,7 +229451,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -219475,7 +230185,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -219483,7 +230197,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -219529,7 +230247,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -219567,13 +230289,19 @@ ] } ], - "events": [ [ "Assign", "X211^2 := []" ] ] + "events": [ + [ + "Assign", + "X211^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -219711,14 +230439,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -219973,14 +230710,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -219988,7 +230734,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -219996,7 +230746,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -220726,7 +231480,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -220734,7 +231492,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -220780,7 +231542,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -220818,13 +231584,19 @@ ] } ], - "events": [ [ "Assign", "X212^2 := []" ] ] + "events": [ + [ + "Assign", + "X212^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -220943,14 +231715,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -221205,14 +231986,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -221220,7 +232010,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -221228,7 +232022,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -221958,7 +232756,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -221966,7 +232768,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -222012,7 +232818,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -222037,7 +232847,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -222051,11 +232865,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -222158,14 +232977,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -222420,14 +233248,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -222435,7 +233272,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -222443,7 +233284,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -223173,7 +234018,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -223181,7 +234030,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -223227,7 +234080,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -223254,14 +234111,21 @@ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1).", - "rule_loc": [ "Context", 485 ] + "rule_loc": [ + "Context", + 485 + ] } ], "events": [ [ - "Assign", "A5 := const «Builders_18.HB_unnamed_factory_22»" + "Assign", + "A5 := const «Builders_18.HB_unnamed_factory_22»" + ], + [ + "Assign", + "A0 := [c0, c1]" ], - [ "Assign", "A0 := [c0, c1]" ], [ "Assign", "X209^2 := app [global (const «Builders_18.HB_unnamed_factory_22») | X216^2]" @@ -223273,13 +234137,22 @@ "goal_text": "pack? (const «Builders_18.HB_unnamed_factory_22») _", "goal_id": 1689 }, - { "goal_text": "!", "goal_id": 1690 }, + { + "goal_text": "!", + "goal_id": 1690 + }, { "goal_text": "std.rev [c0, c1] [X217^2, c0 | X218^2]", "goal_id": 1691 }, - { "goal_text": "copy c0 X213^2", "goal_id": 1692 }, - { "goal_text": "std.map X218^2 copy X219^2", "goal_id": 1693 }, + { + "goal_text": "copy c0 X213^2", + "goal_id": 1692 + }, + { + "goal_text": "std.map X218^2 copy X219^2", + "goal_id": 1693 + }, { "goal_text": "std.rev [global (const «elpi.hole»), X213^2 | X219^2] X216^2", "goal_id": 1694 @@ -223288,14 +234161,21 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 488, 490 ], + "more_successful_attempts": [ + 488, + 490 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1).", - "rule_loc": [ "Context", 485 ] + "rule_loc": [ + "Context", + 485 + ] } ], "step_id": 486, @@ -223304,7 +234184,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -223407,14 +234291,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -223669,14 +234562,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -223684,7 +234586,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -223692,7 +234598,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -224422,7 +235332,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -224430,7 +235344,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -224476,7 +235394,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -224498,13 +235420,17 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X213^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X213^2 | A4] A1).", - "rule_loc": [ "Context", 485 ] + "rule_loc": [ + "Context", + 485 + ] } ], "step_id": 486, @@ -224513,7 +235439,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -224616,14 +235546,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -224878,14 +235817,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -224893,7 +235841,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -224901,7 +235853,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -225631,7 +236587,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -225639,7 +236599,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -225685,7 +236649,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -225728,7 +236696,10 @@ "Assign", "A0 := app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" ], - [ "Assign", "A1 := X209^2" ] + [ + "Assign", + "A1 := X209^2" + ] ] }, "siblings": [ @@ -225736,17 +236707,26 @@ "goal_text": "name (app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1])", "goal_id": 1695 }, - { "goal_text": "!", "goal_id": 1696 }, + { + "goal_text": "!", + "goal_id": 1696 + }, { "goal_text": "app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] = X209^2", "goal_id": 1697 }, - { "goal_text": "!", "goal_id": 1698 } + { + "goal_text": "!", + "goal_id": 1698 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 490 ], + "more_successful_attempts": [ + 490 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -225770,7 +236750,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -225873,14 +236857,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -226135,14 +237128,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -226150,7 +237152,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -226158,7 +237164,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -226888,7 +237898,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -226896,7 +237910,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -226942,7 +237960,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -226964,17 +237986,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 489, "runtime_id": 8 @@ -227001,7 +238034,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -227104,14 +238141,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -227366,14 +238412,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -227381,7 +238436,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -227389,7 +238448,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -228119,7 +239182,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -228127,7 +239194,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -228173,7 +239244,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -228216,11 +239291,17 @@ "Assign", "A0 := [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]" ], - [ "Assign", "X209^2 := app X220^2" ] + [ + "Assign", + "X209^2 := app X220^2" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1699 }, + { + "goal_text": "!", + "goal_id": 1699 + }, { "goal_text": "std.map [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1] copy \n X220^2", "goal_id": 1700 @@ -228230,6 +239311,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -228253,7 +239335,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -228356,14 +239442,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -228618,14 +239713,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -228633,7 +239737,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -228641,7 +239749,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -229371,7 +240483,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -229379,7 +240495,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -229425,7 +240545,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -229438,7 +240562,13 @@ { "step_id": 491, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1699, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1699, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -229474,9 +240604,18 @@ "Assign", "A0 := global (const «Builders_18.HB_unnamed_factory_22»)" ], - [ "Assign", "A1 := [c0, c1]" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X220^2 := [X221^2 | X222^2]" ] + [ + "Assign", + "A1 := [c0, c1]" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X220^2 := [X221^2 | X222^2]" + ] ] }, "siblings": [ @@ -229493,6 +240632,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -229535,7 +240675,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -229638,14 +240782,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -229900,14 +241053,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -229915,7 +241077,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -229923,7 +241089,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -230653,7 +241823,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -230661,7 +241835,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -230707,7 +241885,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -230750,7 +241932,10 @@ "Assign", "A0 := global (const «Builders_18.HB_unnamed_factory_22»)" ], - [ "Assign", "A1 := X221^2" ] + [ + "Assign", + "A1 := X221^2" + ] ] }, "siblings": [ @@ -230758,17 +241943,26 @@ "goal_text": "name (global (const «Builders_18.HB_unnamed_factory_22»))", "goal_id": 1703 }, - { "goal_text": "!", "goal_id": 1704 }, + { + "goal_text": "!", + "goal_id": 1704 + }, { "goal_text": "global (const «Builders_18.HB_unnamed_factory_22») = X221^2", "goal_id": 1705 }, - { "goal_text": "!", "goal_id": 1706 } + { + "goal_text": "!", + "goal_id": 1706 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 495 ], + "more_successful_attempts": [ + 495 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -230830,7 +242024,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -230933,14 +242131,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -231195,14 +242402,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -231210,7 +242426,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -231218,7 +242438,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -231948,7 +243172,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -231956,7 +243184,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -232002,7 +243234,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -232024,17 +243260,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 494, "runtime_id": 8 @@ -232099,7 +243346,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -232202,14 +243453,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -232464,14 +243724,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -232479,7 +243748,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -232487,7 +243760,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -233217,7 +244494,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -233225,7 +244506,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -233271,7 +244556,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -233320,11 +244609,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1707 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1707 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -233386,7 +244681,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -233489,14 +244788,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -233751,14 +245059,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -233766,7 +245083,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -233774,7 +245095,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -234504,7 +245829,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -234512,7 +245841,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -234558,7 +245891,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -234571,7 +245908,13 @@ { "step_id": 496, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1707, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1707, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -234603,20 +245946,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := [c1]" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X222^2 := [X223^2 | X224^2]" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := [c1]" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X222^2 := [X223^2 | X224^2]" + ] ] }, "siblings": [ - { "goal_text": "copy c0 X223^2", "goal_id": 1708 }, - { "goal_text": "std.map [c1] copy X224^2", "goal_id": 1709 } + { + "goal_text": "copy c0 X223^2", + "goal_id": 1708 + }, + { + "goal_text": "std.map [c1] copy X224^2", + "goal_id": 1709 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -234678,7 +246040,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -234781,14 +246147,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -235043,14 +246418,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -235058,7 +246442,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -235066,7 +246454,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -235796,7 +247188,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -235804,7 +247200,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -235850,7 +247250,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -235889,19 +247293,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X223^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := X223^2" + ] ] }, "siblings": [ - { "goal_text": "name c0", "goal_id": 1710 }, - { "goal_text": "!", "goal_id": 1711 }, - { "goal_text": "c0 = X223^2", "goal_id": 1712 }, - { "goal_text": "!", "goal_id": 1713 } + { + "goal_text": "name c0", + "goal_id": 1710 + }, + { + "goal_text": "!", + "goal_id": 1711 + }, + { + "goal_text": "c0 = X223^2", + "goal_id": 1712 + }, + { + "goal_text": "!", + "goal_id": 1713 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -235982,7 +247406,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -236085,14 +247513,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -236347,14 +247784,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -236362,7 +247808,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -236370,7 +247820,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -237100,7 +248554,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -237108,7 +248566,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -237154,7 +248616,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -237179,19 +248645,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1714 } ], + "siblings": [ + { + "goal_text": "c0 = c0", + "goal_id": 1714 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 499, "runtime_id": 8 @@ -237275,7 +248756,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -237378,14 +248863,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -237640,14 +249134,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -237655,7 +249158,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -237663,7 +249170,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -238393,7 +249904,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -238401,7 +249916,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -238447,7 +249966,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -238472,7 +249995,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -238481,17 +250008,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 500, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 499, "runtime_id": 8 @@ -238575,7 +250113,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -238678,14 +250220,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -238940,14 +250491,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -238955,7 +250515,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -238963,7 +250527,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -239693,7 +251261,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -239701,7 +251273,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -239747,7 +251323,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -239760,7 +251340,13 @@ { "step_id": 501, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1711, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1711, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -239778,19 +251364,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X223 c0 c1 := c0" ] ] + "events": [ + [ + "Assign", + "X223 c0 c1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 502, "runtime_id": 8 @@ -239874,7 +251475,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -239977,14 +251582,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -240239,14 +251853,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -240254,7 +251877,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -240262,7 +251889,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -240992,7 +252623,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -241000,7 +252635,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -241046,7 +252685,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -241059,7 +252702,13 @@ { "step_id": 503, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1713, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1713, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -241091,20 +252740,39 @@ } ], "events": [ - [ "Assign", "A0 := c1" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X224^2 := [X225^2 | X226^2]" ] + [ + "Assign", + "A0 := c1" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X224^2 := [X225^2 | X226^2]" + ] ] }, "siblings": [ - { "goal_text": "copy c1 X225^2", "goal_id": 1715 }, - { "goal_text": "std.map [] copy X226^2", "goal_id": 1716 } + { + "goal_text": "copy c1 X225^2", + "goal_id": 1715 + }, + { + "goal_text": "std.map [] copy X226^2", + "goal_id": 1716 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -241185,7 +252853,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -241288,14 +252960,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -241550,14 +253231,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -241565,7 +253255,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -241573,7 +253267,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -242303,7 +254001,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -242311,7 +254013,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -242357,7 +254063,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -242396,19 +254106,39 @@ } ], "events": [ - [ "Assign", "A0 := c1" ], [ "Assign", "A1 := X225^2" ] + [ + "Assign", + "A0 := c1" + ], + [ + "Assign", + "A1 := X225^2" + ] ] }, "siblings": [ - { "goal_text": "name c1", "goal_id": 1717 }, - { "goal_text": "!", "goal_id": 1718 }, - { "goal_text": "c1 = X225^2", "goal_id": 1719 }, - { "goal_text": "!", "goal_id": 1720 } + { + "goal_text": "name c1", + "goal_id": 1717 + }, + { + "goal_text": "!", + "goal_id": 1718 + }, + { + "goal_text": "c1 = X225^2", + "goal_id": 1719 + }, + { + "goal_text": "!", + "goal_id": 1720 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -242508,7 +254238,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -242611,14 +254345,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -242873,14 +254616,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -242888,7 +254640,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -242896,7 +254652,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -243626,7 +255386,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -243634,7 +255398,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -243680,7 +255448,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -243705,19 +255477,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c1 = c1", "goal_id": 1721 } ], + "siblings": [ + { + "goal_text": "c1 = c1", + "goal_id": 1721 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 506, "runtime_id": 8 @@ -243820,7 +255607,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -243923,14 +255714,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -244185,14 +255985,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -244200,7 +256009,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -244208,7 +256021,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -244938,7 +256755,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -244946,7 +256767,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -244992,7 +256817,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -245017,7 +256846,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -245026,17 +256859,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 507, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 506, "runtime_id": 8 @@ -245139,7 +256983,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -245242,14 +257090,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -245504,14 +257361,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -245519,7 +257385,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -245527,7 +257397,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -246257,7 +258131,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -246265,7 +258143,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -246311,7 +258193,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -246324,7 +258210,13 @@ { "step_id": 508, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1718, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1718, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -246342,19 +258234,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X225 c0 c1 := c1" ] ] + "events": [ + [ + "Assign", + "X225 c0 c1 := c1" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 509, "runtime_id": 8 @@ -246457,7 +258364,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -246560,14 +258471,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -246822,14 +258742,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -246837,7 +258766,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -246845,7 +258778,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -247575,7 +259512,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -247583,7 +259524,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -247629,7 +259574,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -247642,7 +259591,13 @@ { "step_id": 510, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1720, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1720, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -247673,13 +259628,19 @@ ] } ], - "events": [ [ "Assign", "X226^2 := []" ] ] + "events": [ + [ + "Assign", + "X226^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -247779,7 +259740,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 485, "runtime_id": 8 @@ -247882,14 +259847,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -248144,14 +260118,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -248159,7 +260142,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -248167,7 +260154,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -248897,7 +260888,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -248905,7 +260900,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -248951,7 +260950,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -248989,13 +260992,19 @@ ] } ], - "events": [ [ "Assign", "X210^2 := []" ] ] + "events": [ + [ + "Assign", + "X210^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -249095,14 +261104,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -249357,14 +261375,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -249372,7 +261399,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -249380,7 +261411,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -250110,7 +262145,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -250118,7 +262157,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -250164,7 +262207,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -250210,7 +262257,10 @@ ] }, "siblings": [ - { "goal_text": "trace.counter run X227^2", "goal_id": 1722 }, + { + "goal_text": "trace.counter run X227^2", + "goal_id": 1722 + }, { "goal_text": "if (not (X227^2 = 0)) (std.debug-print run= X227^2) true", "goal_id": 1723 @@ -250232,6 +262282,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -250274,14 +262325,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -250536,14 +262596,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -250551,7 +262620,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -250559,7 +262632,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -251289,7 +263366,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -251297,7 +263378,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -251343,7 +263428,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -251368,20 +263457,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "trace.counter", "kind": "FFI", "payload": [] } + { + "name": "trace.counter", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "X227^2 = 0", "goal_id": 1727 } ], + "siblings": [ + { + "goal_text": "X227^2 = 0", + "goal_id": 1727 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "trace.counter", "kind": "FFI", "payload": [] } + { + "name": "trace.counter", + "kind": "FFI", + "payload": [] + } ], "step_id": 514, "runtime_id": 8 @@ -251427,14 +263530,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -251689,14 +263801,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -251704,7 +263825,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -251712,7 +263837,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -252442,7 +264571,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -252450,7 +264583,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -252496,7 +264633,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -252521,19 +264662,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X227^2 := 0" ] ] + "events": [ + [ + "Assign", + "X227^2 := 0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 515, "runtime_id": 8 @@ -252541,7 +264697,11 @@ { "rule": [ "BuiltinRule", - { "name": "trace.counter", "kind": "FFI", "payload": [] } + { + "name": "trace.counter", + "kind": "FFI", + "payload": [] + } ], "step_id": 514, "runtime_id": 8 @@ -252587,14 +264747,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -252849,14 +265018,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -252864,7 +265042,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -252872,7 +265054,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -253602,7 +265788,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -253610,7 +265800,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -253656,7 +265850,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -253695,19 +265893,37 @@ } ], "events": [ - [ "Assign", "A0 := not (0 = 0)" ], - [ "Assign", "A1 := std.debug-print run= 0" ] + [ + "Assign", + "A0 := not (0 = 0)" + ], + [ + "Assign", + "A1 := std.debug-print run= 0" + ] ] }, "siblings": [ - { "goal_text": "not (0 = 0)", "goal_id": 1728 }, - { "goal_text": "!", "goal_id": 1729 }, - { "goal_text": "std.debug-print run= 0", "goal_id": 1730 } + { + "goal_text": "not (0 = 0)", + "goal_id": 1728 + }, + { + "goal_text": "!", + "goal_id": 1729 + }, + { + "goal_text": "std.debug-print run= 0", + "goal_id": 1730 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 521 ], + "more_successful_attempts": [ + 521 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -253769,14 +265985,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -254031,14 +266256,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -254046,7 +266280,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -254054,7 +266292,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -254784,7 +267026,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -254792,7 +267038,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -254838,7 +267088,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -254876,17 +267130,32 @@ ] } ], - "events": [ [ "Assign", "A0 := 0 = 0" ] ] + "events": [ + [ + "Assign", + "A0 := 0 = 0" + ] + ] }, "siblings": [ - { "goal_text": "0 = 0", "goal_id": 1731 }, - { "goal_text": "!", "goal_id": 1732 }, - { "goal_text": "fail", "goal_id": 1733 } + { + "goal_text": "0 = 0", + "goal_id": 1731 + }, + { + "goal_text": "!", + "goal_id": 1732 + }, + { + "goal_text": "fail", + "goal_id": 1733 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -254967,14 +267236,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -255229,14 +267507,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -255244,7 +267531,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -255252,7 +267543,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -255982,7 +268277,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -255990,7 +268289,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -256036,7 +268339,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -256061,7 +268368,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -256070,10 +268381,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 518, "runtime_id": 8 @@ -256157,14 +268474,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -256419,14 +268745,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -256434,7 +268769,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -256442,7 +268781,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -257172,7 +269515,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -257180,7 +269527,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -257226,7 +269577,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -257279,6 +269634,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -257359,14 +269715,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -257621,14 +269986,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -257636,7 +270010,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -257644,7 +270022,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -258374,7 +270756,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -258382,7 +270768,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -258428,7 +270818,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -258466,13 +270860,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1734 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1734 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -258534,14 +270939,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -258796,14 +271210,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -258811,7 +271234,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -258819,7 +271246,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -259549,7 +271980,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -259557,7 +271992,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -259603,7 +272042,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -259648,6 +272091,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -259728,14 +272172,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -259990,14 +272443,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -260005,7 +272467,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -260013,7 +272479,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -260743,7 +273213,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -260751,7 +273225,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -260797,7 +273275,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -260836,7 +273318,10 @@ } ], "events": [ - [ "Assign", "A0 := ----<<---- enter: " ], + [ + "Assign", + "A0 := ----<<---- enter: " + ], [ "Assign", "A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1" @@ -260844,7 +273329,10 @@ ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1735 }, + { + "goal_text": "!", + "goal_id": 1735 + }, { "goal_text": "coq.say ----<<---- enter: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n X175^1)", "goal_id": 1736 @@ -260854,6 +273342,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -260915,14 +273404,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -261177,14 +273675,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -261192,7 +273699,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -261200,7 +273711,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -261930,7 +274445,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -261938,7 +274457,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -261984,7 +274507,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -262040,7 +274567,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.say", "kind": "FFI", "payload": [] } + { + "name": "coq.say", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -262049,11 +274580,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.say", "kind": "FFI", "payload": [] } + { + "name": "coq.say", + "kind": "FFI", + "payload": [] + } ], "step_id": 525, "runtime_id": 8 @@ -262118,14 +274654,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -262380,14 +274925,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -262395,7 +274949,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -262403,7 +274961,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -263133,7 +275695,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -263141,7 +275707,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -263187,7 +275757,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -263225,13 +275799,24 @@ ] } ], - "events": [ [ "Assign", "X175^1 := []" ] ] + "events": [ + [ + "Assign", + "X175^1 := []" + ] + ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1737 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1737 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -263293,14 +275878,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -263555,14 +276149,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -263570,7 +276173,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -263578,7 +276185,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -264308,7 +276919,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -264316,7 +276931,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -264362,7 +276981,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -264450,7 +277073,10 @@ } ], "events": [ - [ "Assign", "A0 := ---->>---- exit: " ], + [ + "Assign", + "A0 := ---->>---- exit: " + ], [ "Assign", "A1 := std.take 0 \n [c0, \n app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] \n []" @@ -264458,7 +277084,10 @@ ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1738 }, + { + "goal_text": "!", + "goal_id": 1738 + }, { "goal_text": "coq.say ---->>---- exit: \n (std.take 0 \n [c0, app [global (const «Builders_18.HB_unnamed_factory_20»), c0, c1], \n app [global (const «Builders_18.HB_unnamed_factory_22»), c0, c1]] [])", "goal_id": 1739 @@ -264468,6 +277097,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -264529,14 +277159,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -264791,14 +277430,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -264806,7 +277454,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -264814,7 +277466,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -265544,7 +278200,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -265552,7 +278212,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -265598,7 +278262,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -265654,7 +278322,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.say", "kind": "FFI", "payload": [] } + { + "name": "coq.say", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -265663,11 +278335,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.say", "kind": "FFI", "payload": [] } + { + "name": "coq.say", + "kind": "FFI", + "payload": [] + } ], "step_id": 530, "runtime_id": 8 @@ -265732,14 +278409,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 421, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 420, "runtime_id": 8 @@ -265994,14 +278680,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -266009,7 +278704,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -266017,7 +278716,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -266747,7 +279450,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -266755,7 +279462,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -266801,7 +279512,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -266899,7 +279614,13 @@ { "step_id": 532, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1600, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1600, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -266937,6 +279658,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -267150,14 +279872,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -267165,7 +279896,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -267173,7 +279908,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -267903,7 +280642,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -267911,7 +280654,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -267957,7 +280704,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -268004,10 +280755,22 @@ "Assign", "A1 := [global (const «Builders_18.HB_unnamed_factory_20»)]" ], - [ "Assign", "A2 := indt «HasB.axioms_»" ], - [ "Assign", "A3 := [indt «HasA.axioms_»]" ], - [ "Assign", "A4 := factory-provides.one [] c0" ], - [ "Assign", "X174^1 := [X228^1 | X229^1]" ] + [ + "Assign", + "A2 := indt «HasB.axioms_»" + ], + [ + "Assign", + "A3 := [indt «HasA.axioms_»]" + ], + [ + "Assign", + "A4 := factory-provides.one [] c0" + ], + [ + "Assign", + "X174^1 := [X228^1 | X229^1]" + ] ] }, "siblings": [ @@ -268024,6 +280787,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -268161,14 +280925,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -268176,7 +280949,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -268184,7 +280961,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -268914,7 +281695,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -268922,7 +281707,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -268968,7 +281757,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -269007,13 +281800,22 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := c0" ], + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := c0" + ], [ "Assign", "A2 := global (const «Builders_18.HB_unnamed_factory_22»)" ], - [ "Assign", "A3 := indt «HasB.axioms_»" ], + [ + "Assign", + "A3 := indt «HasB.axioms_»" + ], [ "Assign", "X228^1 := triple (indt «HasB.axioms_») X230^1 c0" @@ -269030,6 +281832,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -269186,14 +281989,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -269201,7 +282013,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -269209,7 +282025,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -269939,7 +282759,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -269947,7 +282771,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -269993,7 +282821,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -270047,7 +282879,10 @@ "goal_text": "std.assert-ok!\n (coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1) \n Builder illtyped", "goal_id": 1743 }, - { "goal_text": "!", "goal_id": 1744 }, + { + "goal_text": "!", + "goal_id": 1744 + }, { "goal_text": "std.do!\n [(coq.subst-prod [] X231^1 X232^1 , coq.subst-prod [c0] X232^1 X233^1), \n std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", "goal_id": 1745 @@ -270057,6 +282892,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -270232,14 +283068,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -270247,7 +283092,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -270255,7 +283104,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -270985,7 +283838,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -270993,7 +283850,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -271039,7 +283900,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -271082,7 +283947,10 @@ "Assign", "A0 := coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) \n X231^1" ], - [ "Assign", "A1 := Builder illtyped" ] + [ + "Assign", + "A1 := Builder illtyped" + ] ] }, "siblings": [ @@ -271090,17 +283958,24 @@ "goal_text": "coq.typecheck (global (const «Builders_18.HB_unnamed_factory_22»)) X231^1 \n X234^1", "goal_id": 1746 }, - { "goal_text": "!", "goal_id": 1747 }, + { + "goal_text": "!", + "goal_id": 1747 + }, { "goal_text": "X234^1 = ok ;\n X234^1 = error X235^1 , std.fatal-error-w-data Builder illtyped X235^1", "goal_id": 1748 }, - { "goal_text": "!", "goal_id": 1749 } + { + "goal_text": "!", + "goal_id": 1749 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -271295,14 +284170,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -271310,7 +284194,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -271318,7 +284206,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -272048,7 +284940,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -272056,7 +284952,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -272102,7 +285002,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -272127,7 +285031,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -272136,17 +285044,25 @@ "goal_text": "X231^1 =\n prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]", "goal_id": 1750 }, - { "goal_text": "X234^1 = ok", "goal_id": 1751 } + { + "goal_text": "X234^1 = ok", + "goal_id": 1751 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 538, "runtime_id": 8 @@ -272344,14 +285260,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -272359,7 +285284,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -272367,7 +285296,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -273097,7 +286030,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -273105,7 +286042,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -273151,7 +286092,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -273176,7 +286121,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ [ @@ -273190,10 +286139,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 539, "runtime_id": 8 @@ -273201,7 +286156,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 538, "runtime_id": 8 @@ -273399,14 +286358,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -273414,7 +286382,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -273422,7 +286394,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -274152,7 +287128,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -274160,7 +287140,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -274206,7 +287190,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -274231,19 +287219,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X234^1 := ok" ] ] + "events": [ + [ + "Assign", + "X234^1 := ok" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 540, "runtime_id": 8 @@ -274251,7 +287254,11 @@ { "rule": [ "BuiltinRule", - { "name": "coq.typecheck", "kind": "FFI", "payload": [] } + { + "name": "coq.typecheck", + "kind": "FFI", + "payload": [] + } ], "step_id": 538, "runtime_id": 8 @@ -274449,14 +287456,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -274464,7 +287480,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -274472,7 +287492,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -275202,7 +288226,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -275210,7 +288238,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -275256,7 +288288,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -275325,13 +288361,24 @@ ] } ], - "events": [ [ "Assign", "A0 := ok = ok" ] ] + "events": [ + [ + "Assign", + "A0 := ok = ok" + ] + ] }, - "siblings": [ { "goal_text": "ok = ok", "goal_id": 1752 } ], + "siblings": [ + { + "goal_text": "ok = ok", + "goal_id": 1752 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -275545,14 +288592,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -275560,7 +288616,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -275568,7 +288628,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -276298,7 +289362,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -276306,7 +289374,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -276352,7 +289424,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -276377,7 +289453,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -276386,10 +289466,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 543, "runtime_id": 8 @@ -276606,14 +289692,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -276621,7 +289716,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -276629,7 +289728,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -277359,7 +290462,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -277367,7 +290474,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -277413,7 +290524,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -277457,7 +290572,13 @@ { "step_id": 545, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1744, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1744, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -277504,7 +290625,10 @@ "goal_text": "coq.subst-prod [] \n (prod `T` (sort (typ «interleave_context.396»)) c1 \\\n prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]) X232^1 , coq.subst-prod [c0] X232^1 X233^1", "goal_id": 1753 }, - { "goal_text": "!", "goal_id": 1754 }, + { + "goal_text": "!", + "goal_id": 1754 + }, { "goal_text": "std.do!\n [std.assert! (extract-conclusion-params c0 X233^1 X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins]", "goal_id": 1755 @@ -277514,6 +290638,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -277708,14 +290833,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -277723,7 +290857,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -277731,7 +290869,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -278461,7 +291603,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -278469,7 +291615,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -278515,7 +291665,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -278540,7 +291694,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -278558,11 +291716,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 547, "runtime_id": 8 @@ -278760,14 +291923,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -278775,7 +291947,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -278783,7 +291959,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -279513,7 +292693,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -279521,7 +292705,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -279567,7 +292755,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -279616,11 +292808,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1758 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1758 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -279644,7 +292842,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 547, "runtime_id": 8 @@ -279842,14 +293044,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -279857,7 +293068,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -279865,7 +293080,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -280595,7 +293814,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -280603,7 +293826,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -280649,7 +293876,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -280719,17 +293950,29 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := []" ], + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := []" + ], [ "Assign", "A2 := c1 \\\nprod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c1]) \n c2 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c1, c2], c1]" ], - [ "Assign", "A3 := X233^1" ] + [ + "Assign", + "A3 := X233^1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1759 }, + { + "goal_text": "!", + "goal_id": 1759 + }, { "goal_text": "coq.subst-prod [] \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X233^1", "goal_id": 1760 @@ -280739,6 +293982,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -280762,7 +294006,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 547, "runtime_id": 8 @@ -280960,14 +294208,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -280975,7 +294232,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -280983,7 +294244,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -281713,7 +294978,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -281721,7 +294990,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -281767,7 +295040,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -281865,11 +295142,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1761 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1761 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -281912,7 +295195,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 547, "runtime_id": 8 @@ -282110,14 +295397,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -282125,7 +295421,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -282133,7 +295433,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -282863,7 +296167,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -282871,7 +296179,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -282917,7 +296229,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -282961,7 +296277,13 @@ { "step_id": 554, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1754, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1754, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -282997,7 +296319,10 @@ "Assign", "A0 := std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins" ], - [ "Assign", "A1 := []" ] + [ + "Assign", + "A1 := []" + ] ] }, "siblings": [ @@ -283005,13 +296330,20 @@ "goal_text": "std.assert!\n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1) \n The conclusion of a builder is a mixin whose parameters depend on other mixins", "goal_id": 1762 }, - { "goal_text": "!", "goal_id": 1763 }, - { "goal_text": "std.do! []", "goal_id": 1764 } + { + "goal_text": "!", + "goal_id": 1763 + }, + { + "goal_text": "std.do! []", + "goal_id": 1764 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -283225,14 +296557,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -283240,7 +296581,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -283248,7 +296593,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -283978,7 +297327,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -283986,7 +297339,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -284032,7 +297389,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -284086,12 +297447,16 @@ "goal_text": "extract-conclusion-params c0 \n (prod `fresh_name_19` (app [global (const «IsSelfA'.phant_axioms»), c0]) \n c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1 ;\n std.fatal-error-w-data\n The conclusion of a builder is a mixin whose parameters depend on other mixins \n (extract-conclusion-params c0 \n (prod `fresh_name_19` \n (app [global (const «IsSelfA'.phant_axioms»), c0]) c1 \\\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1)", "goal_id": 1765 }, - { "goal_text": "!", "goal_id": 1766 } + { + "goal_text": "!", + "goal_id": 1766 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -284324,14 +297689,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -284339,7 +297713,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -284347,7 +297725,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -285077,7 +298459,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -285085,7 +298471,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -285131,7 +298521,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -285186,6 +298580,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -285437,14 +298832,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -285452,7 +298856,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -285460,7 +298868,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -286190,7 +299602,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -286198,7 +299614,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -286244,7 +299664,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -286283,7 +299707,10 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Assign", "A1 := app [global (const «IsSelfA'.phant_axioms»), c0]" @@ -286292,11 +299719,17 @@ "Assign", "A2 := c1 \\\napp\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]" ], - [ "Assign", "A3 := X230^1" ] + [ + "Assign", + "A3 := X230^1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1768 }, + { + "goal_text": "!", + "goal_id": 1768 + }, { "goal_text": "pi c1 \\\n decl c1 _ (app [global (const «IsSelfA'.phant_axioms»), c0]) =>\n extract-conclusion-params c0 \n (app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]) X230^1", "goal_id": 1769 @@ -286306,6 +299739,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -286576,14 +300010,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -286591,7 +300034,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -286599,7 +300046,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -287329,7 +300780,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -287337,7 +300792,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -287383,7 +300842,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -287457,7 +300920,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -287471,10 +300938,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -287748,14 +301221,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -287763,7 +301245,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -287771,7 +301257,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -288501,7 +301991,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -288509,7 +302003,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -288555,7 +302053,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -288580,7 +302082,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -288594,18 +302100,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -288879,14 +302395,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -288894,7 +302419,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -288902,7 +302431,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -289632,7 +303165,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -289640,7 +303177,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -289686,7 +303227,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -289723,7 +303268,10 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Fail", "match\n app\n [global (indt «HasB.axioms_»), \n app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] with prod _ A1 A2" @@ -289750,17 +303298,29 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := indt «HasB.axioms_»" ], + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := indt «HasB.axioms_»" + ], [ "Assign", "A2 := [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0]" ], - [ "Assign", "A3 := X230^1" ] + [ + "Assign", + "A3 := X230^1" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1772 }, + { + "goal_text": "!", + "goal_id": 1772 + }, { "goal_text": "factory-alias->gref (indt «HasB.axioms_») X236^2", "goal_id": 1773 @@ -289782,6 +303342,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -289805,14 +303366,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -290086,14 +303656,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -290101,7 +303680,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -290109,7 +303692,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -290839,7 +304426,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -290847,7 +304438,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -290893,7 +304488,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -290963,8 +304562,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «HasB.axioms_»" ], - [ "Assign", "A1 := X236^2" ] + [ + "Assign", + "A0 := indt «HasB.axioms_»" + ], + [ + "Assign", + "A1 := X236^2" + ] ] }, "siblings": [ @@ -290972,12 +304577,18 @@ "goal_text": "phant-abbrev X236^2 (indt «HasB.axioms_») _", "goal_id": 1777 }, - { "goal_text": "!", "goal_id": 1778 } + { + "goal_text": "!", + "goal_id": 1778 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 566 ], + "more_successful_attempts": [ + 566 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -291020,14 +304631,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -291301,14 +304921,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -291316,7 +304945,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -291324,7 +304957,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -292054,7 +305691,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -292062,7 +305703,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -292108,7 +305753,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -292145,7 +305794,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indt «HasA.axioms_»" ], + [ + "Assign", + "X236^2 := indt «HasA.axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «HasA.phant_axioms»" @@ -292169,7 +305821,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indc «HasA.Axioms_»" ], + [ + "Assign", + "X236^2 := indc «HasA.Axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «HasA.phant_Build»" @@ -292193,7 +305848,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indt «HasB.axioms_»" ], + [ + "Assign", + "X236^2 := indt «HasB.axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «HasB.phant_axioms»" @@ -292217,7 +305875,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indc «HasB.Axioms_»" ], + [ + "Assign", + "X236^2 := indc «HasB.Axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «HasB.phant_Build»" @@ -292241,7 +305902,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indt «IsSelfA.axioms_»" ], + [ + "Assign", + "X236^2 := indt «IsSelfA.axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «IsSelfA.phant_axioms»" @@ -292265,7 +305929,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indc «IsSelfA.Axioms_»" ], + [ + "Assign", + "X236^2 := indc «IsSelfA.Axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «IsSelfA.phant_Build»" @@ -292289,7 +305956,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indt «IsSelfA'.axioms_»" ], + [ + "Assign", + "X236^2 := indt «IsSelfA'.axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «IsSelfA'.phant_axioms»" @@ -292313,7 +305983,10 @@ } ], "events": [ - [ "Assign", "X236^2 := indc «IsSelfA'.Axioms_»" ], + [ + "Assign", + "X236^2 := indc «IsSelfA'.Axioms_»" + ], [ "Fail", "unify indt «HasB.axioms_» with const «IsSelfA'.phant_Build»" @@ -292323,6 +305996,7 @@ ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -292384,14 +306058,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -292665,14 +306348,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -292680,7 +306372,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -292688,7 +306384,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -293418,7 +307118,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -293426,7 +307130,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -293472,7 +307180,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -293511,8 +307223,14 @@ } ], "events": [ - [ "Assign", "A0 := indt «HasB.axioms_»" ], - [ "Assign", "X236^2 := indt «HasB.axioms_»" ] + [ + "Assign", + "A0 := indt «HasB.axioms_»" + ], + [ + "Assign", + "X236^2 := indt «HasB.axioms_»" + ] ] }, "siblings": [ @@ -293520,12 +307238,16 @@ "goal_text": "phant-abbrev (indt «HasB.axioms_») _ _", "goal_id": 1779 }, - { "goal_text": "!", "goal_id": 1780 } + { + "goal_text": "!", + "goal_id": 1780 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -293568,14 +307290,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -293849,14 +307580,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -293864,7 +307604,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -293872,7 +307616,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -294602,7 +308350,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -294610,7 +308362,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -294656,7 +308412,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -294694,7 +308454,8 @@ ], "events": [ [ - "Fail", "unify indt «HasB.axioms_» with indt «HasA.axioms_»" + "Fail", + "unify indt «HasB.axioms_» with indt «HasA.axioms_»" ] ] } @@ -294724,6 +308485,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -294785,14 +308547,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -295066,14 +308837,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -295081,7 +308861,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -295089,7 +308873,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -295819,7 +309607,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -295827,7 +309619,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -295873,7 +309669,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -296014,7 +309814,8 @@ ], "events": [ [ - "Fail", "unify indt «HasB.axioms_» with indt «HasA.axioms_»" + "Fail", + "unify indt «HasB.axioms_» with indt «HasA.axioms_»" ] ] }, @@ -296035,7 +309836,10 @@ } ], "events": [ - [ "Fail", "unify indt «HasB.axioms_» with indt «A.axioms_»" ] + [ + "Fail", + "unify indt «HasB.axioms_» with indt «A.axioms_»" + ] ] } ], @@ -296057,13 +309861,19 @@ ] } ], - "events": [ [ "Assign", "X237^2 := 1" ] ] + "events": [ + [ + "Assign", + "X237^2 := 1" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -296106,14 +309916,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -296387,14 +310206,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -296402,7 +310230,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -296410,7 +310242,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -297140,7 +310976,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -297148,7 +310988,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -297194,7 +311038,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -297237,9 +311085,18 @@ "Assign", "A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" ], - [ "Assign", "A1 := [c0]" ], - [ "Assign", "A2 := copy-pack-holes c0" ], - [ "Assign", "X238^2 := [X239^2 | X240^2]" ] + [ + "Assign", + "A1 := [c0]" + ], + [ + "Assign", + "A2 := copy-pack-holes c0" + ], + [ + "Assign", + "X238^2 := [X239^2 | X240^2]" + ] ] }, "siblings": [ @@ -297256,6 +311113,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -297298,14 +311156,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -297579,14 +311446,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -297594,7 +311470,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -297602,7 +311482,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -298332,7 +312216,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -298340,7 +312228,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -298386,7 +312278,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -298425,12 +312321,18 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], + [ + "Assign", + "A0 := c0" + ], [ "Assign", "A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" ], - [ "Assign", "A2 := X239^2" ] + [ + "Assign", + "A2 := X239^2" + ] ] }, "siblings": [ @@ -298451,6 +312353,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -298512,14 +312415,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -298793,14 +312705,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -298808,7 +312729,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -298816,7 +312741,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -299546,7 +313475,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -299554,7 +313487,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -299600,7 +313537,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -299638,7 +313579,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X241^2" ] ] + "events": [ + [ + "Assign", + "A0 := X241^2" + ] + ] }, "siblings": [ { @@ -299654,6 +313600,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -299734,14 +313681,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -300015,14 +313971,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -300030,7 +313995,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -300038,7 +314007,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -300768,7 +314741,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -300776,7 +314753,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -300822,7 +314803,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -300861,8 +314846,14 @@ } ], "events": [ - [ "Assign", "A0 := local-canonical X244^2" ], - [ "Assign", "A1 := X245^2" ] + [ + "Assign", + "A0 := local-canonical X244^2" + ], + [ + "Assign", + "A1 := X245^2" + ] ] }, "siblings": [ @@ -300875,6 +314866,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -300974,14 +314966,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -301255,14 +315256,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -301270,7 +315280,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -301278,7 +315292,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -302008,7 +316026,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -302016,7 +316038,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -302062,7 +316088,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -302086,7 +316116,10 @@ "runtime_id": 14, "step": [ "Init", - { "goal_text": "local-canonical X0^2", "goal_id": 1790 } + { + "goal_text": "local-canonical X0^2", + "goal_id": 1790 + } ], "color": "Grey" }, @@ -302102,18 +316135,25 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [] } ], "color": "Red" } ], - "findall_solution_text": [ "X245^2 := []" ], + "findall_solution_text": [ + "X245^2 := []" + ], "findall_stack": [ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 574, "runtime_id": 8 @@ -302216,14 +316256,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -302497,14 +316546,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -302512,7 +316570,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -302520,7 +316582,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -303250,7 +317316,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -303258,7 +317328,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -303304,7 +317378,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -303342,13 +317420,19 @@ ] } ], - "events": [ [ "Assign", "X241^2 := []" ] ] + "events": [ + [ + "Assign", + "X241^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -303448,14 +317532,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -303729,14 +317822,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -303744,7 +317846,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -303752,7 +317858,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -304482,7 +318592,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -304490,7 +318604,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -304536,7 +318654,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -304574,13 +318696,19 @@ ] } ], - "events": [ [ "Assign", "X242^2 := []" ] ] + "events": [ + [ + "Assign", + "X242^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -304661,14 +318789,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -304942,14 +319079,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -304957,7 +319103,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -304965,7 +319115,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -305695,7 +319849,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -305703,7 +319861,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -305749,7 +319911,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -305774,7 +319940,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -305788,11 +319958,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -305857,14 +320032,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -306138,14 +320322,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -306153,7 +320346,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -306161,7 +320358,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -306891,7 +321092,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -306899,7 +321104,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -306945,7 +321154,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -306972,7 +321185,10 @@ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1).", - "rule_loc": [ "Context", 577 ] + "rule_loc": [ + "Context", + 577 + ] } ], "events": [ @@ -306980,7 +321196,10 @@ "Assign", "A5 := const «Builders_18.Builders_18_T__canonical__interleave_context_A»" ], - [ "Assign", "A0 := [c0, c1]" ], + [ + "Assign", + "A0 := [c0, c1]" + ], [ "Assign", "X239^2 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A») | X246^2]" @@ -306992,13 +321211,22 @@ "goal_text": "pack? (const «Builders_18.Builders_18_T__canonical__interleave_context_A») \n _", "goal_id": 1792 }, - { "goal_text": "!", "goal_id": 1793 }, + { + "goal_text": "!", + "goal_id": 1793 + }, { "goal_text": "std.rev [c0, c1] [X247^2, c0 | X248^2]", "goal_id": 1794 }, - { "goal_text": "copy c0 X243^2", "goal_id": 1795 }, - { "goal_text": "std.map X248^2 copy X249^2", "goal_id": 1796 }, + { + "goal_text": "copy c0 X243^2", + "goal_id": 1795 + }, + { + "goal_text": "std.map X248^2 copy X249^2", + "goal_id": 1796 + }, { "goal_text": "std.rev [global (const «elpi.hole»), X243^2 | X249^2] X246^2", "goal_id": 1797 @@ -307007,14 +321235,21 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 580, 582 ], + "more_successful_attempts": [ + 580, + 582 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1).", - "rule_loc": [ "Context", 577 ] + "rule_loc": [ + "Context", + 577 + ] } ], "step_id": 578, @@ -307023,7 +321258,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -307088,14 +321327,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -307369,14 +321617,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -307384,7 +321641,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -307392,7 +321653,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -308122,7 +322387,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -308130,7 +322399,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -308176,7 +322449,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -308198,13 +322475,17 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (app [global A5 | A0]) (app [global A5 | A1])) :- (pack? A5 _), (!), \n (std.rev A0 [A2, c0 | A3]), (copy c0 X243^2), (std.map A3 copy A4), \n (std.rev [global (const «elpi.hole»), X243^2 | A4] A1).", - "rule_loc": [ "Context", 577 ] + "rule_loc": [ + "Context", + 577 + ] } ], "step_id": 578, @@ -308213,7 +322494,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -308278,14 +322563,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -308559,14 +322853,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -308574,7 +322877,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -308582,7 +322889,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -309312,7 +323623,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -309320,7 +323635,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -309366,7 +323685,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -309409,7 +323732,10 @@ "Assign", "A0 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" ], - [ "Assign", "A1 := X239^2" ] + [ + "Assign", + "A1 := X239^2" + ] ] }, "siblings": [ @@ -309417,17 +323743,26 @@ "goal_text": "name\n (app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1])", "goal_id": 1798 }, - { "goal_text": "!", "goal_id": 1799 }, + { + "goal_text": "!", + "goal_id": 1799 + }, { "goal_text": "app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] = X239^2", "goal_id": 1800 }, - { "goal_text": "!", "goal_id": 1801 } + { + "goal_text": "!", + "goal_id": 1801 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 582 ], + "more_successful_attempts": [ + 582 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -309451,7 +323786,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -309516,14 +323855,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -309797,14 +324145,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -309812,7 +324169,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -309820,7 +324181,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -310550,7 +324915,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -310558,7 +324927,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -310604,7 +324977,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -310626,17 +325003,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 581, "runtime_id": 8 @@ -310663,7 +325051,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -310728,14 +325120,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -311009,14 +325410,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -311024,7 +325434,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -311032,7 +325446,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -311762,7 +326180,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -311770,7 +326192,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -311816,7 +326242,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -311859,11 +326289,17 @@ "Assign", "A0 := [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" ], - [ "Assign", "X239^2 := app X250^2" ] + [ + "Assign", + "X239^2 := app X250^2" + ] ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1802 }, + { + "goal_text": "!", + "goal_id": 1802 + }, { "goal_text": "std.map\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1] copy X250^2", "goal_id": 1803 @@ -311873,6 +326309,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -311896,7 +326333,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -311961,14 +326402,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -312242,14 +326692,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -312257,7 +326716,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -312265,7 +326728,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -312995,7 +327462,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -313003,7 +327474,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -313049,7 +327524,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -313062,7 +327541,13 @@ { "step_id": 583, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1802, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1802, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -313098,9 +327583,18 @@ "Assign", "A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)" ], - [ "Assign", "A1 := [c0, c1]" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X250^2 := [X251^2 | X252^2]" ] + [ + "Assign", + "A1 := [c0, c1]" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X250^2 := [X251^2 | X252^2]" + ] ] }, "siblings": [ @@ -313117,6 +327611,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -313159,7 +327654,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -313224,14 +327723,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -313505,14 +328013,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -313520,7 +328037,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -313528,7 +328049,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -314258,7 +328783,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -314266,7 +328795,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -314312,7 +328845,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -314355,7 +328892,10 @@ "Assign", "A0 := global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)" ], - [ "Assign", "A1 := X251^2" ] + [ + "Assign", + "A1 := X251^2" + ] ] }, "siblings": [ @@ -314363,17 +328903,26 @@ "goal_text": "name\n (global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»))", "goal_id": 1806 }, - { "goal_text": "!", "goal_id": 1807 }, + { + "goal_text": "!", + "goal_id": 1807 + }, { "goal_text": "global (const «Builders_18.Builders_18_T__canonical__interleave_context_A»)\n = X251^2", "goal_id": 1808 }, - { "goal_text": "!", "goal_id": 1809 } + { + "goal_text": "!", + "goal_id": 1809 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 587 ], + "more_successful_attempts": [ + 587 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -314435,7 +328984,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -314500,14 +329053,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -314781,14 +329343,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -314796,7 +329367,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -314804,7 +329379,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -315534,7 +330113,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -315542,7 +330125,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -315588,7 +330175,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -315610,17 +330201,28 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 586, "runtime_id": 8 @@ -315685,7 +330287,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -315750,14 +330356,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -316031,14 +330646,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -316046,7 +330670,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -316054,7 +330682,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -316784,7 +331416,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -316792,7 +331428,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -316838,7 +331478,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -316887,11 +331531,17 @@ ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 1810 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 1810 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -316953,7 +331603,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -317018,14 +331672,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -317299,14 +331962,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -317314,7 +331986,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -317322,7 +331998,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -318052,7 +332732,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -318060,7 +332744,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -318106,7 +332794,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -318119,7 +332811,13 @@ { "step_id": 588, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1810, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1810, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -318151,20 +332849,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := [c1]" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X252^2 := [X253^2 | X254^2]" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := [c1]" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X252^2 := [X253^2 | X254^2]" + ] ] }, "siblings": [ - { "goal_text": "copy c0 X253^2", "goal_id": 1811 }, - { "goal_text": "std.map [c1] copy X254^2", "goal_id": 1812 } + { + "goal_text": "copy c0 X253^2", + "goal_id": 1811 + }, + { + "goal_text": "std.map [c1] copy X254^2", + "goal_id": 1812 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -318226,7 +332943,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -318291,14 +333012,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -318572,14 +333302,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -318587,7 +333326,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -318595,7 +333338,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -319325,7 +334072,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -319333,7 +334084,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -319379,7 +334134,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -319418,19 +334177,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X253^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := X253^2" + ] ] }, "siblings": [ - { "goal_text": "name c0", "goal_id": 1813 }, - { "goal_text": "!", "goal_id": 1814 }, - { "goal_text": "c0 = X253^2", "goal_id": 1815 }, - { "goal_text": "!", "goal_id": 1816 } + { + "goal_text": "name c0", + "goal_id": 1813 + }, + { + "goal_text": "!", + "goal_id": 1814 + }, + { + "goal_text": "c0 = X253^2", + "goal_id": 1815 + }, + { + "goal_text": "!", + "goal_id": 1816 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -319511,7 +334290,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -319576,14 +334359,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -319857,14 +334649,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -319872,7 +334673,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -319880,7 +334685,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -320610,7 +335419,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -320618,7 +335431,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -320664,7 +335481,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -320689,19 +335510,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1817 } ], + "siblings": [ + { + "goal_text": "c0 = c0", + "goal_id": 1817 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 591, "runtime_id": 8 @@ -320785,7 +335621,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -320850,14 +335690,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -321131,14 +335980,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -321146,7 +336004,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -321154,7 +336016,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -321884,7 +336750,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -321892,7 +336762,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -321938,7 +336812,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -321963,7 +336841,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -321972,17 +336854,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 592, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 591, "runtime_id": 8 @@ -322066,7 +336959,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -322131,14 +337028,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -322412,14 +337318,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -322427,7 +337342,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -322435,7 +337354,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -323165,7 +338088,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -323173,7 +338100,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -323219,7 +338150,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -323232,7 +338167,13 @@ { "step_id": 593, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1814, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1814, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -323250,19 +338191,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X253 c0 c1 := c0" ] ] + "events": [ + [ + "Assign", + "X253 c0 c1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 594, "runtime_id": 8 @@ -323346,7 +338302,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -323411,14 +338371,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -323692,14 +338661,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -323707,7 +338685,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -323715,7 +338697,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -324445,7 +339431,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -324453,7 +339443,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -324499,7 +339493,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -324512,7 +339510,13 @@ { "step_id": 595, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1816, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1816, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -324544,20 +339548,39 @@ } ], "events": [ - [ "Assign", "A0 := c1" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := copy" ], - [ "Assign", "X254^2 := [X255^2 | X256^2]" ] + [ + "Assign", + "A0 := c1" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := copy" + ], + [ + "Assign", + "X254^2 := [X255^2 | X256^2]" + ] ] }, "siblings": [ - { "goal_text": "copy c1 X255^2", "goal_id": 1818 }, - { "goal_text": "std.map [] copy X256^2", "goal_id": 1819 } + { + "goal_text": "copy c1 X255^2", + "goal_id": 1818 + }, + { + "goal_text": "std.map [] copy X256^2", + "goal_id": 1819 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -324638,7 +339661,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -324703,14 +339730,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -324984,14 +340020,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -324999,7 +340044,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -325007,7 +340056,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -325737,7 +340790,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -325745,7 +340802,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -325791,7 +340852,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -325830,19 +340895,39 @@ } ], "events": [ - [ "Assign", "A0 := c1" ], [ "Assign", "A1 := X255^2" ] + [ + "Assign", + "A0 := c1" + ], + [ + "Assign", + "A1 := X255^2" + ] ] }, "siblings": [ - { "goal_text": "name c1", "goal_id": 1820 }, - { "goal_text": "!", "goal_id": 1821 }, - { "goal_text": "c1 = X255^2", "goal_id": 1822 }, - { "goal_text": "!", "goal_id": 1823 } + { + "goal_text": "name c1", + "goal_id": 1820 + }, + { + "goal_text": "!", + "goal_id": 1821 + }, + { + "goal_text": "c1 = X255^2", + "goal_id": 1822 + }, + { + "goal_text": "!", + "goal_id": 1823 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -325942,7 +341027,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -326007,14 +341096,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -326288,14 +341386,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -326303,7 +341410,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -326311,7 +341422,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -327041,7 +342156,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -327049,7 +342168,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -327095,7 +342218,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -327120,19 +342247,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c1 = c1", "goal_id": 1824 } ], + "siblings": [ + { + "goal_text": "c1 = c1", + "goal_id": 1824 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 598, "runtime_id": 8 @@ -327235,7 +342377,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -327300,14 +342446,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -327581,14 +342736,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -327596,7 +342760,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -327604,7 +342772,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -328334,7 +343506,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -328342,7 +343518,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -328388,7 +343568,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -328413,7 +343597,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -328422,17 +343610,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 599, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 598, "runtime_id": 8 @@ -328535,7 +343734,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -328600,14 +343803,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -328881,14 +344093,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -328896,7 +344117,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -328904,7 +344129,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -329634,7 +344863,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -329642,7 +344875,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -329688,7 +344925,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -329701,7 +344942,13 @@ { "step_id": 600, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1821, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1821, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -329719,19 +344966,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X255 c0 c1 := c1" ] ] + "events": [ + [ + "Assign", + "X255 c0 c1 := c1" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 601, "runtime_id": 8 @@ -329834,7 +345096,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -329899,14 +345165,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -330180,14 +345455,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -330195,7 +345479,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -330203,7 +345491,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -330933,7 +346225,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -330941,7 +346237,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -330987,7 +346287,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -331000,7 +346304,13 @@ { "step_id": 602, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1823, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1823, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -331031,13 +346341,19 @@ ] } ], - "events": [ [ "Assign", "X256^2 := []" ] ] + "events": [ + [ + "Assign", + "X256^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -331137,7 +346453,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 577, "runtime_id": 8 @@ -331202,14 +346522,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -331483,14 +346812,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -331498,7 +346836,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -331506,7 +346848,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -332236,7 +347582,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -332244,7 +347594,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -332290,7 +347644,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -332329,10 +347687,22 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := copy-pack-holes c0" ], - [ "Assign", "X240^2 := [X257^2 | X258^2]" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := copy-pack-holes c0" + ], + [ + "Assign", + "X240^2 := [X257^2 | X258^2]" + ] ] }, "siblings": [ @@ -332349,6 +347719,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -332410,14 +347781,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -332691,14 +348071,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -332706,7 +348095,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -332714,7 +348107,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -333444,7 +348841,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -333452,7 +348853,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -333498,7 +348903,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -333537,9 +348946,18 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A1 := c0" ], - [ "Assign", "A2 := X257^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := c0" + ], + [ + "Assign", + "A2 := X257^2" + ] ] }, "siblings": [ @@ -333560,6 +348978,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -333640,14 +349059,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -333921,14 +349349,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -333936,7 +349373,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -333944,7 +349385,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -334674,7 +350119,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -334682,7 +350131,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -334728,7 +350181,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -334766,7 +350223,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X259^2" ] ] + "events": [ + [ + "Assign", + "A0 := X259^2" + ] + ] }, "siblings": [ { @@ -334782,6 +350244,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -334881,14 +350344,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -335162,14 +350634,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -335177,7 +350658,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -335185,7 +350670,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -335915,7 +351404,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -335923,7 +351416,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -335969,7 +351466,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -336008,8 +351509,14 @@ } ], "events": [ - [ "Assign", "A0 := local-canonical X262^2" ], - [ "Assign", "A1 := X263^2" ] + [ + "Assign", + "A0 := local-canonical X262^2" + ], + [ + "Assign", + "A1 := X263^2" + ] ] }, "siblings": [ @@ -336022,6 +351529,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -336140,14 +351648,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -336421,14 +351938,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -336436,7 +351962,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -336444,7 +351974,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -337174,7 +352708,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -337182,7 +352720,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -337228,7 +352770,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -337252,7 +352798,10 @@ "runtime_id": 15, "step": [ "Init", - { "goal_text": "local-canonical X0^2", "goal_id": 1834 } + { + "goal_text": "local-canonical X0^2", + "goal_id": 1834 + } ], "color": "Grey" }, @@ -337268,18 +352817,25 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [] } ], "color": "Red" } ], - "findall_solution_text": [ "X263^2 := []" ], + "findall_solution_text": [ + "X263^2 := []" + ], "findall_stack": [ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 608, "runtime_id": 8 @@ -337401,14 +352957,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -337682,14 +353247,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -337697,7 +353271,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -337705,7 +353283,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -338435,7 +354017,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -338443,7 +354029,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -338489,7 +354079,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -338527,13 +354121,19 @@ ] } ], - "events": [ [ "Assign", "X259^2 := []" ] ] + "events": [ + [ + "Assign", + "X259^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -338652,14 +354252,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -338933,14 +354542,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -338948,7 +354566,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -338956,7 +354578,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -339686,7 +355312,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -339694,7 +355324,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -339740,7 +355374,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -339778,13 +355416,19 @@ ] } ], - "events": [ [ "Assign", "X260^2 := []" ] ] + "events": [ + [ + "Assign", + "X260^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -339884,14 +355528,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -340165,14 +355818,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -340180,7 +355842,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -340188,7 +355854,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -340918,7 +356588,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -340926,7 +356600,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -340972,7 +356650,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -340997,22 +356679,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "copy c0 X257^2", "goal_id": 1835 } + { + "goal_text": "copy c0 X257^2", + "goal_id": 1835 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 611, "runtime_id": 8 @@ -341096,14 +356790,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -341377,14 +357080,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -341392,7 +357104,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -341400,7 +357116,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -342130,7 +357850,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -342138,7 +357862,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -342184,7 +357912,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -342223,19 +357955,39 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], [ "Assign", "A1 := X257^2" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A1 := X257^2" + ] ] }, "siblings": [ - { "goal_text": "name c0", "goal_id": 1836 }, - { "goal_text": "!", "goal_id": 1837 }, - { "goal_text": "c0 = X257^2", "goal_id": 1838 }, - { "goal_text": "!", "goal_id": 1839 } + { + "goal_text": "name c0", + "goal_id": 1836 + }, + { + "goal_text": "!", + "goal_id": 1837 + }, + { + "goal_text": "c0 = X257^2", + "goal_id": 1838 + }, + { + "goal_text": "!", + "goal_id": 1839 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -342259,7 +358011,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 611, "runtime_id": 8 @@ -342343,14 +358099,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -342624,14 +358389,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -342639,7 +358413,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -342647,7 +358425,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -343377,7 +359159,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -343385,7 +359171,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -343431,7 +359221,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -343456,19 +359250,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "name", "kind": "FFI", "payload": [] } + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "c0 = c0", "goal_id": 1840 } ], + "siblings": [ + { + "goal_text": "c0 = c0", + "goal_id": 1840 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 613, "runtime_id": 8 @@ -343495,7 +359304,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 611, "runtime_id": 8 @@ -343579,14 +359392,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -343860,14 +359682,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -343875,7 +359706,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -343883,7 +359718,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -344613,7 +360452,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -344621,7 +360464,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -344667,7 +360514,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -344692,7 +360543,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -344701,17 +360556,28 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 614, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "name", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "name", + "kind": "FFI", + "payload": [] + } ], "step_id": 613, "runtime_id": 8 @@ -344738,7 +360604,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 611, "runtime_id": 8 @@ -344822,14 +360692,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -345103,14 +360982,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -345118,7 +361006,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -345126,7 +361018,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -345856,7 +361752,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -345864,7 +361764,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -345910,7 +361814,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -345923,7 +361831,13 @@ { "step_id": 615, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1837, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1837, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -345941,19 +361855,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X257 c0 c1 := c0" ] ] + "events": [ + [ + "Assign", + "X257 c0 c1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 616, "runtime_id": 8 @@ -345980,7 +361909,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 611, "runtime_id": 8 @@ -346064,14 +361997,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -346345,14 +362287,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -346360,7 +362311,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -346368,7 +362323,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -347098,7 +363057,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -347106,7 +363069,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -347152,7 +363119,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -347165,7 +363136,13 @@ { "step_id": 617, "runtime_id": 8, - "step": [ "Cut", { "cut_goal_id": 1839, "cut_victims": [] } ], + "step": [ + "Cut", + { + "cut_goal_id": 1839, + "cut_victims": [] + } + ], "color": "Grey" }, { @@ -347196,13 +363173,19 @@ ] } ], - "events": [ [ "Assign", "X258^2 := []" ] ] + "events": [ + [ + "Assign", + "X258^2 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -347283,14 +363266,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -347564,14 +363556,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -347579,7 +363580,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -347587,7 +363592,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -348317,7 +364326,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -348325,7 +364338,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -348371,7 +364388,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -348417,7 +364438,10 @@ ] }, "siblings": [ - { "goal_text": "trace.counter run X264^2", "goal_id": 1841 }, + { + "goal_text": "trace.counter run X264^2", + "goal_id": 1841 + }, { "goal_text": "if (not (X264^2 = 0)) (std.debug-print run= X264^2) true", "goal_id": 1842 @@ -348439,6 +364463,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -348481,14 +364506,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -348762,14 +364796,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -348777,7 +364820,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -348785,7 +364832,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -349515,7 +365566,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -349523,7 +365578,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -349569,7 +365628,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -349594,20 +365657,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "trace.counter", "kind": "FFI", "payload": [] } + { + "name": "trace.counter", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "X264^2 = 0", "goal_id": 1846 } ], + "siblings": [ + { + "goal_text": "X264^2 = 0", + "goal_id": 1846 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "trace.counter", "kind": "FFI", "payload": [] } + { + "name": "trace.counter", + "kind": "FFI", + "payload": [] + } ], "step_id": 620, "runtime_id": 8 @@ -349653,14 +365730,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -349934,14 +366020,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -349949,7 +366044,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -349957,7 +366056,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -350687,7 +366790,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -350695,7 +366802,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -350741,7 +366852,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -350766,19 +366881,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X264^2 := 0" ] ] + "events": [ + [ + "Assign", + "X264^2 := 0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 621, "runtime_id": 8 @@ -350786,7 +366916,11 @@ { "rule": [ "BuiltinRule", - { "name": "trace.counter", "kind": "FFI", "payload": [] } + { + "name": "trace.counter", + "kind": "FFI", + "payload": [] + } ], "step_id": 620, "runtime_id": 8 @@ -350832,14 +366966,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -351113,14 +367256,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -351128,7 +367280,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -351136,7 +367292,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -351866,7 +368026,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -351874,7 +368038,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -351920,7 +368088,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -351959,19 +368131,37 @@ } ], "events": [ - [ "Assign", "A0 := not (0 = 0)" ], - [ "Assign", "A1 := std.debug-print run= 0" ] + [ + "Assign", + "A0 := not (0 = 0)" + ], + [ + "Assign", + "A1 := std.debug-print run= 0" + ] ] }, "siblings": [ - { "goal_text": "not (0 = 0)", "goal_id": 1847 }, - { "goal_text": "!", "goal_id": 1848 }, - { "goal_text": "std.debug-print run= 0", "goal_id": 1849 } + { + "goal_text": "not (0 = 0)", + "goal_id": 1847 + }, + { + "goal_text": "!", + "goal_id": 1848 + }, + { + "goal_text": "std.debug-print run= 0", + "goal_id": 1849 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 627 ], + "more_successful_attempts": [ + 627 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -352033,14 +368223,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -352314,14 +368513,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -352329,7 +368537,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -352337,7 +368549,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -353067,7 +369283,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -353075,7 +369295,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -353121,7 +369345,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -353159,17 +369387,32 @@ ] } ], - "events": [ [ "Assign", "A0 := 0 = 0" ] ] + "events": [ + [ + "Assign", + "A0 := 0 = 0" + ] + ] }, "siblings": [ - { "goal_text": "0 = 0", "goal_id": 1850 }, - { "goal_text": "!", "goal_id": 1851 }, - { "goal_text": "fail", "goal_id": 1852 } + { + "goal_text": "0 = 0", + "goal_id": 1850 + }, + { + "goal_text": "!", + "goal_id": 1851 + }, + { + "goal_text": "fail", + "goal_id": 1852 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -353250,14 +369493,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -353531,14 +369783,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -353546,7 +369807,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -353554,7 +369819,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -354284,7 +370553,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -354292,7 +370565,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -354338,7 +370615,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -354363,7 +370644,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -354372,10 +370657,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 624, "runtime_id": 8 @@ -354459,14 +370750,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -354740,14 +371040,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -354755,7 +371064,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -354763,7 +371076,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -355493,7 +371810,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -355501,7 +371822,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -355547,7 +371872,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -355600,6 +371929,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -355680,14 +372010,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -355961,14 +372300,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -355976,7 +372324,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -355984,7 +372336,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -356714,7 +373070,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -356722,7 +373082,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -356768,7 +373132,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -356806,13 +373174,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 1853 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 1853 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -356874,14 +373253,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -357155,14 +373543,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -357170,7 +373567,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -357178,7 +373579,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -357908,7 +374313,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -357916,7 +374325,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -357962,7 +374375,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -358007,6 +374424,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -358087,14 +374505,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -358368,14 +374795,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -358383,7 +374819,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -358391,7 +374831,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -359121,7 +375565,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -359129,7 +375577,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -359175,7 +375627,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -359214,7 +375670,10 @@ } ], "events": [ - [ "Assign", "A0 := ----<<---- enter: " ], + [ + "Assign", + "A0 := ----<<---- enter: " + ], [ "Assign", "A1 := std.take 1 \n [app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1" @@ -359222,7 +375681,10 @@ ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1854 }, + { + "goal_text": "!", + "goal_id": 1854 + }, { "goal_text": "coq.say ----<<---- enter: \n (std.take 1 \n [app\n [global\n (const «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1], c0] X230^1)", "goal_id": 1855 @@ -359232,6 +375694,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -359293,14 +375756,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -359574,14 +376046,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -359589,7 +376070,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -359597,7 +376082,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -360327,7 +376816,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -360335,7 +376828,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -360381,7 +376878,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -360437,7 +376938,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "coq.say", "kind": "FFI", "payload": [] } + { + "name": "coq.say", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -360446,11 +376951,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "coq.say", "kind": "FFI", "payload": [] } + { + "name": "coq.say", + "kind": "FFI", + "payload": [] + } ], "step_id": 631, "runtime_id": 8 @@ -360515,14 +377025,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -360796,14 +377315,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -360811,7 +377339,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -360819,7 +377351,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -361549,7 +378085,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -361557,7 +378097,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -361603,7 +378147,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -361640,12 +378188,18 @@ } ], "events": [ - [ "Assign", "A0 := 1" ], + [ + "Assign", + "A0 := 1" + ], [ "Assign", "A1 := app\n [global\n (const\n «Builders_18.Builders_18_T__canonical__interleave_context_A»), \n c0, c1]" ], - [ "Assign", "A2 := [c0]" ], + [ + "Assign", + "A2 := [c0]" + ], [ "Fail", "unify X230^1 with [app EXN PRINTING: Elpi__Runtime.HO.RestrictionFailure" @@ -361683,6 +378237,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -361744,14 +378299,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -362025,14 +378589,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -362040,7 +378613,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -362048,7 +378625,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -362778,7 +379359,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -362786,7 +379371,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -362832,7 +379421,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -362870,10 +379463,18 @@ ] } ], - "events": [ [ "Assign", "A0 := take run out of list items" ] ] + "events": [ + [ + "Assign", + "A0 := take run out of list items" + ] + ] }, "siblings": [ - { "goal_text": "!", "goal_id": 1857 }, + { + "goal_text": "!", + "goal_id": 1857 + }, { "goal_text": "stop take run out of list items", "goal_id": 1858 @@ -362883,6 +379484,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -362963,14 +379565,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -363244,14 +379855,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -363259,7 +379879,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -363267,7 +379891,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -363997,7 +380625,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -364005,7 +380637,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -364051,7 +380687,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -364139,11 +380779,22 @@ ] } ], - "events": [ [ "Assign", "A0 := take run out of list items" ] ] + "events": [ + [ + "Assign", + "A0 := take run out of list items" + ] + ] }, "siblings": [ - { "goal_text": "get-option ltac:fail X265^2", "goal_id": 1859 }, - { "goal_text": "!", "goal_id": 1860 }, + { + "goal_text": "get-option ltac:fail X265^2", + "goal_id": 1859 + }, + { + "goal_text": "!", + "goal_id": 1860 + }, { "goal_text": "coq.ltac.fail X265^2 take run out of list items", "goal_id": 1861 @@ -364152,7 +380803,10 @@ "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 637 ], + "more_successful_attempts": [ + 637 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -364252,14 +380906,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -364533,14 +381196,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -364548,7 +381220,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -364556,7 +381232,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -365286,7 +381966,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -365294,7 +381978,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -365340,7 +382028,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -365362,6 +382054,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -365461,14 +382154,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -365742,14 +382444,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -365757,7 +382468,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -365765,7 +382480,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -366495,7 +383214,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -366503,7 +383226,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -366549,7 +383276,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -366587,7 +383318,12 @@ ] } ], - "events": [ [ "Assign", "A0 := take run out of list items" ] ] + "events": [ + [ + "Assign", + "A0 := take run out of list items" + ] + ] }, "siblings": [ { @@ -366599,6 +383335,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -366698,14 +383435,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 561, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 560, "runtime_id": 8 @@ -366979,14 +383725,23 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 369, "runtime_id": 8 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 368, "runtime_id": 8 @@ -366994,7 +383749,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 367, "runtime_id": 8 @@ -367002,7 +383761,11 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 366, "runtime_id": 8 @@ -367732,7 +384495,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 75, "runtime_id": 8 @@ -367740,7 +384507,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 74, "runtime_id": 8 @@ -367786,7 +384557,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 1, "runtime_id": 8 @@ -367796,4 +384571,4 @@ ], "color": "YellowRed" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace.elab.json b/src/tests/sources/trace.elab.json index a7429b3..40803eb 100644 --- a/src/tests/sources/trace.elab.json +++ b/src/tests/sources/trace.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -35,11 +41,17 @@ ], "events": [] }, - "siblings": [ { "goal_text": "p 1 X0 ; p 2 X1", "goal_id": 5 } ], + "siblings": [ + { + "goal_text": "p 1 X0 ; p 2 X1", + "goal_id": 5 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -93,13 +105,26 @@ ] } ], - "events": [ [ "Assign", "A0 := p 1 X0" ] ] + "events": [ + [ + "Assign", + "A0 := p 1 X0" + ] + ] }, - "siblings": [ { "goal_text": "p 1 X0", "goal_id": 6 } ], + "siblings": [ + { + "goal_text": "p 1 X0", + "goal_id": 6 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 11 ], + "more_successful_attempts": [ + 11 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -172,13 +197,26 @@ ] } ], - "events": [ [ "Assign", "X0 := 1" ] ] + "events": [ + [ + "Assign", + "X0 := 1" + ] + ] }, - "siblings": [ { "goal_text": "1 is 2 + 3", "goal_id": 7 } ], + "siblings": [ + { + "goal_text": "1 is 2 + 3", + "goal_id": 7 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 7 ], + "more_successful_attempts": [ + 7 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -271,14 +309,27 @@ } ], "events": [ - [ "Assign", "A1 := 1" ], [ "Assign", "A0 := 2 + 3" ] + [ + "Assign", + "A1 := 1" + ], + [ + "Assign", + "A0 := 2 + 3" + ] ] }, - "siblings": [ { "goal_text": "calc (2 + 3) 1", "goal_id": 8 } ], + "siblings": [ + { + "goal_text": "calc (2 + 3) 1", + "goal_id": 8 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -376,19 +427,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "calc", "kind": "FFI", "payload": [] } + { + "name": "calc", + "kind": "FFI", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "1 = 5", "goal_id": 9 } ], + "siblings": [ + { + "goal_text": "1 = 5", + "goal_id": 9 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "calc", + "kind": "FFI", + "payload": [] + } ], "step_id": 5, "runtime_id": 0 @@ -486,24 +552,45 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Fail", "unify 1 with 5" ] ] + "events": [ + [ + "Fail", + "unify 1 with 5" + ] + ] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 }, { "rule": [ - "BuiltinRule", { "name": "calc", "kind": "FFI", "payload": [] } + "BuiltinRule", + { + "name": "calc", + "kind": "FFI", + "payload": [] + } ], "step_id": 5, "runtime_id": 0 @@ -617,17 +704,32 @@ ] } ], - "events": [ [ "Assign", "X0 := 2" ] ] + "events": [ + [ + "Assign", + "X0 := 2" + ] + ] }, "siblings": [ - { "goal_text": "X2 = 1", "goal_id": 10 }, - { "goal_text": "X3 = 2", "goal_id": 11 }, - { "goal_text": "X2 = X3", "goal_id": 12 } + { + "goal_text": "X2 = 1", + "goal_id": 10 + }, + { + "goal_text": "X3 = 2", + "goal_id": 11 + }, + { + "goal_text": "X2 = X3", + "goal_id": 12 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -706,19 +808,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X2 := 1" ] ] + "events": [ + [ + "Assign", + "X2 := 1" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 8, "runtime_id": 0 @@ -800,19 +917,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Assign", "X3 := 2" ] ] + "events": [ + [ + "Assign", + "X3 := 2" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 9, "runtime_id": 0 @@ -891,17 +1023,33 @@ "failed_attempts": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], - "events": [ [ "Fail", "unify 1 with 2" ] ] + "events": [ + [ + "Fail", + "unify 1 with 2" + ] + ] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 10, "runtime_id": 0 @@ -996,13 +1144,24 @@ ] } ], - "events": [ [ "Assign", "A0 := p 2 X1" ] ] + "events": [ + [ + "Assign", + "A0 := p 2 X1" + ] + ] }, - "siblings": [ { "goal_text": "p 2 X1", "goal_id": 13 } ], + "siblings": [ + { + "goal_text": "p 2 X1", + "goal_id": 13 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1075,13 +1234,19 @@ ] } ], - "events": [ [ "Assign", "X1 := 3" ] ] + "events": [ + [ + "Assign", + "X1 := 3" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1145,4 +1310,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace2.elab.json b/src/tests/sources/trace2.elab.json index 04c0383..1fb7a95 100644 --- a/src/tests/sources/trace2.elab.json +++ b/src/tests/sources/trace2.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -36,7 +42,10 @@ "events": [] }, "siblings": [ - { "goal_text": "print 1", "goal_id": 5 }, + { + "goal_text": "print 1", + "goal_id": 5 + }, { "goal_text": "pi c0 \\ sigma c1 \\ fail => (true , fail)", "goal_id": 6 @@ -46,6 +55,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -86,7 +96,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -95,11 +109,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "step_id": 2, "runtime_id": 0 @@ -143,7 +162,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -157,10 +180,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -204,29 +233,46 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "fail => (true , fail)", "goal_id": 8 } + { + "goal_text": "fail => (true , fail)", + "goal_id": 8 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -270,15 +316,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "true , fail", "goal_id": 9 } ], + "siblings": [ + { + "goal_text": "true , fail", + "goal_id": 9 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -286,7 +342,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "fail :- ." ] + "payload": [ + "fail :- ." + ] } ], "step_id": 5, @@ -295,14 +353,23 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -346,23 +413,38 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "events": [] }, "siblings": [ - { "goal_text": "true", "goal_id": 10 }, - { "goal_text": "fail", "goal_id": 11 } + { + "goal_text": "true", + "goal_id": 10 + }, + { + "goal_text": "fail", + "goal_id": 11 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -373,7 +455,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "fail :- ." ] + "payload": [ + "fail :- ." + ] } ], "step_id": 5, @@ -382,14 +466,23 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -453,6 +546,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -476,7 +570,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -487,7 +585,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "fail :- ." ] + "payload": [ + "fail :- ." + ] } ], "step_id": 5, @@ -496,14 +596,23 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -547,7 +656,13 @@ "attempt": { "rule": [ "UserRule", - { "rule_text": "fail :- .", "rule_loc": [ "Context", 5 ] } + { + "rule_text": "fail :- .", + "rule_loc": [ + "Context", + 5 + ] + } ], "events": [] }, @@ -556,11 +671,18 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", - { "rule_text": "fail :- .", "rule_loc": [ "Context", 5 ] } + { + "rule_text": "fail :- .", + "rule_loc": [ + "Context", + 5 + ] + } ], "step_id": 8, "runtime_id": 0 @@ -568,7 +690,11 @@ { "rule": [ "BuiltinRule", - { "name": "and", "kind": "Logic", "payload": [] } + { + "name": "and", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -579,7 +705,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "fail :- ." ] + "payload": [ + "fail :- ." + ] } ], "step_id": 5, @@ -588,14 +716,23 @@ { "rule": [ "BuiltinRule", - { "name": "sigma", "kind": "Logic", "payload": [] } + { + "name": "sigma", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -624,4 +761,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace3.elab.json b/src/tests/sources/trace3.elab.json index 5122513..8d2db1b 100644 --- a/src/tests/sources/trace3.elab.json +++ b/src/tests/sources/trace3.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -35,11 +41,17 @@ ], "events": [] }, - "siblings": [ { "goal_text": "p X0 3", "goal_id": 5 } ], + "siblings": [ + { + "goal_text": "p X0 3", + "goal_id": 5 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -92,7 +104,14 @@ } ], "events": [ - [ "Assign", "X0 := 1" ], [ "Fail", "unify 3 with 1" ] + [ + "Assign", + "X0 := 1" + ], + [ + "Fail", + "unify 3 with 1" + ] ] }, { @@ -112,7 +131,14 @@ } ], "events": [ - [ "Assign", "X0 := 2" ], [ "Fail", "unify 3 with 2" ] + [ + "Assign", + "X0 := 2" + ], + [ + "Fail", + "unify 3 with 2" + ] ] } ], @@ -134,13 +160,27 @@ ] } ], - "events": [ [ "Assign", "X0 := 3" ] ] + "events": [ + [ + "Assign", + "X0 := 3" + ] + ] }, - "siblings": [ { "goal_text": "fail", "goal_id": 6 } ], + "siblings": [ + { + "goal_text": "fail", + "goal_id": 6 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 4, 6 ], + "more_successful_attempts": [ + 4, + 6 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -197,6 +237,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -268,7 +309,14 @@ } ], "events": [ - [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 1" ] + [ + "Assign", + "X0 := 4" + ], + [ + "Fail", + "unify 3 with 1" + ] ] }, { @@ -288,7 +336,14 @@ } ], "events": [ - [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 2" ] + [ + "Assign", + "X0 := 4" + ], + [ + "Fail", + "unify 3 with 2" + ] ] } ], @@ -310,13 +365,26 @@ ] } ], - "events": [ [ "Assign", "X0 := 4" ] ] + "events": [ + [ + "Assign", + "X0 := 4" + ] + ] }, - "siblings": [ { "goal_text": "fail", "goal_id": 7 } ], + "siblings": [ + { + "goal_text": "fail", + "goal_id": 7 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 6 ], + "more_successful_attempts": [ + 6 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -373,6 +441,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -445,13 +514,19 @@ ] } ], - "events": [ [ "Assign", "X0 := 5" ] ] + "events": [ + [ + "Assign", + "X0 := 5" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -496,4 +571,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace4.elab.json b/src/tests/sources/trace4.elab.json index 1425937..635d8bd 100644 --- a/src/tests/sources/trace4.elab.json +++ b/src/tests/sources/trace4.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -35,11 +41,17 @@ ], "events": [] }, - "siblings": [ { "goal_text": "p X0 3 ; true", "goal_id": 5 } ], + "siblings": [ + { + "goal_text": "p X0 3 ; true", + "goal_id": 5 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -93,13 +105,26 @@ ] } ], - "events": [ [ "Assign", "A0 := p X0 3" ] ] + "events": [ + [ + "Assign", + "A0 := p X0 3" + ] + ] }, - "siblings": [ { "goal_text": "p X0 3", "goal_id": 6 } ], + "siblings": [ + { + "goal_text": "p X0 3", + "goal_id": 6 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 6 ], + "more_successful_attempts": [ + 6 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -171,7 +196,14 @@ } ], "events": [ - [ "Assign", "X0 := 1" ], [ "Fail", "unify 3 with 1" ] + [ + "Assign", + "X0 := 1" + ], + [ + "Fail", + "unify 3 with 1" + ] ] }, { @@ -191,7 +223,14 @@ } ], "events": [ - [ "Assign", "X0 := 2" ], [ "Fail", "unify 3 with 2" ] + [ + "Assign", + "X0 := 2" + ], + [ + "Fail", + "unify 3 with 2" + ] ] } ], @@ -213,14 +252,26 @@ ] } ], - "events": [ [ "Assign", "X0 := 3" ] ] + "events": [ + [ + "Assign", + "X0 := 3" + ] + ] }, - "siblings": [ { "goal_text": "fail", "goal_id": 7 } ], + "siblings": [ + { + "goal_text": "fail", + "goal_id": 7 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], - "more_failing_attempts": [ 5 ], + "more_failing_attempts": [ + 5 + ], "stack": [ { "rule": [ @@ -296,6 +347,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -386,7 +438,14 @@ } ], "events": [ - [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 1" ] + [ + "Assign", + "X0 := 4" + ], + [ + "Fail", + "unify 3 with 1" + ] ] }, { @@ -406,7 +465,14 @@ } ], "events": [ - [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 2" ] + [ + "Assign", + "X0 := 4" + ], + [ + "Fail", + "unify 3 with 2" + ] ] }, { @@ -426,12 +492,20 @@ } ], "events": [ - [ "Assign", "X0 := 4" ], [ "Fail", "unify 3 with 4" ] + [ + "Assign", + "X0 := 4" + ], + [ + "Fail", + "unify 3 with 4" + ] ] } ], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -523,13 +597,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 8 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 8 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -609,6 +694,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -672,4 +758,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace_chr.elab.json b/src/tests/sources/trace_chr.elab.json index b247da4..3420cd1 100644 --- a/src/tests/sources/trace_chr.elab.json +++ b/src/tests/sources/trace_chr.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -36,15 +42,28 @@ "events": [] }, "siblings": [ - { "goal_text": "even X0", "goal_id": 5 }, - { "goal_text": "declare_constraint true X0", "goal_id": 6 }, - { "goal_text": "X0 = s X1", "goal_id": 7 }, - { "goal_text": "not (even X1)", "goal_id": 8 } + { + "goal_text": "even X0", + "goal_id": 5 + }, + { + "goal_text": "declare_constraint true X0", + "goal_id": 6 + }, + { + "goal_text": "X0 = s X1", + "goal_id": 7 + }, + { + "goal_text": "not (even X1)", + "goal_id": 8 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -98,7 +117,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X0" ] ] + "events": [ + [ + "Assign", + "A0 := X0" + ] + ] }, "siblings": [ { @@ -110,6 +134,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -162,12 +187,19 @@ { "suspend_goal_id": 9, "suspend_goal_text": "declare_constraint (even X0) X0", - "suspend_sibling": { "goal_text": "even X0", "goal_id": 10 }, + "suspend_sibling": { + "goal_text": "even X0", + "goal_id": 10 + }, "suspend_stack": [ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -223,12 +255,19 @@ { "suspend_goal_id": 6, "suspend_goal_text": "declare_constraint true X0", - "suspend_sibling": { "goal_text": "true", "goal_id": 11 }, + "suspend_sibling": { + "goal_text": "true", + "goal_id": 11 + }, "suspend_stack": [ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 @@ -272,10 +311,24 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X0 := s X1" ], [ "ResumeGoal", [ 11, 10 ] ] + [ + "Assign", + "X0 := s X1" + ], + [ + "ResumeGoal", + [ + 11, + 10 + ] + ] ] }, "siblings": [], @@ -283,10 +336,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 5, "runtime_id": 0 @@ -321,8 +380,14 @@ "step": [ "Resume", [ - { "goal_text": "true", "goal_id": 11 }, - { "goal_text": "even (s X1)", "goal_id": 10 } + { + "goal_text": "true", + "goal_id": 11 + }, + { + "goal_text": "even (s X1)", + "goal_id": 10 + } ] ], "color": "Grey" @@ -362,6 +427,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -385,7 +451,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -393,7 +463,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 @@ -450,13 +524,24 @@ ] } ], - "events": [ [ "Assign", "A0 := X1" ] ] + "events": [ + [ + "Assign", + "A0 := X1" + ] + ] }, - "siblings": [ { "goal_text": "odd X1", "goal_id": 12 } ], + "siblings": [ + { + "goal_text": "odd X1", + "goal_id": 12 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -480,7 +565,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -488,7 +577,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -564,7 +657,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X1" ] ] + "events": [ + [ + "Assign", + "A0 := X1" + ] + ] }, "siblings": [ { @@ -576,6 +674,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -618,7 +717,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -626,7 +729,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -682,12 +789,19 @@ { "suspend_goal_id": 13, "suspend_goal_text": "declare_constraint (odd X1) X1", - "suspend_sibling": { "goal_text": "odd X1", "goal_id": 14 }, + "suspend_sibling": { + "goal_text": "odd X1", + "goal_id": 14 + }, "suspend_stack": [ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 10, "runtime_id": 0 @@ -733,7 +847,11 @@ { "rule": [ "BuiltinRule", - { "name": "resume", "kind": "Logic", "payload": [] } + { + "name": "resume", + "kind": "Logic", + "payload": [] + } ], "step_id": 6, "runtime_id": 0 @@ -741,7 +859,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -817,17 +939,34 @@ ] } ], - "events": [ [ "Assign", "A0 := even X1" ] ] + "events": [ + [ + "Assign", + "A0 := even X1" + ] + ] }, "siblings": [ - { "goal_text": "even X1", "goal_id": 15 }, - { "goal_text": "!", "goal_id": 16 }, - { "goal_text": "fail", "goal_id": 17 } + { + "goal_text": "even X1", + "goal_id": 15 + }, + { + "goal_text": "!", + "goal_id": 16 + }, + { + "goal_text": "fail", + "goal_id": 17 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 17 ], + "more_successful_attempts": [ + 17 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -900,7 +1039,12 @@ ] } ], - "events": [ [ "Assign", "A0 := X1" ] ] + "events": [ + [ + "Assign", + "A0 := X1" + ] + ] }, "siblings": [ { @@ -912,6 +1056,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -983,12 +1128,19 @@ { "suspend_goal_id": 18, "suspend_goal_text": "declare_constraint (even X1) X1", - "suspend_sibling": { "goal_text": "even X1", "goal_id": 19 }, + "suspend_sibling": { + "goal_text": "even X1", + "goal_id": 19 + }, "suspend_stack": [ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 13, "runtime_id": 0 @@ -1074,7 +1226,13 @@ { "step_id": 0, "runtime_id": 1, - "step": [ "Init", { "goal_text": "odd z", "goal_id": 20 } ], + "step": [ + "Init", + { + "goal_text": "odd z", + "goal_id": 20 + } + ], "color": "Grey" }, { @@ -1089,6 +1247,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [] } ], @@ -1112,7 +1271,11 @@ "step_id": 0, "runtime_id": 2, "step": [ - "Init", { "goal_text": "odd (s z)", "goal_id": 21 } + "Init", + { + "goal_text": "odd (s z)", + "goal_id": 21 + } ], "color": "Grey" }, @@ -1144,15 +1307,24 @@ ] } ], - "events": [ [ "Assign", "A0 := z" ] ] + "events": [ + [ + "Assign", + "A0 := z" + ] + ] }, "siblings": [ - { "goal_text": "even z", "goal_id": 22 } + { + "goal_text": "even z", + "goal_id": 22 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1213,6 +1385,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1259,13 +1432,27 @@ } ] }, - "chr_removed_goals": [ 19, 14 ], - "chr_new_goals": [ { "goal_text": "_ => fail", "goal_id": 23 } ] + "chr_removed_goals": [ + 19, + 14 + ], + "chr_new_goals": [ + { + "goal_text": "_ => fail", + "goal_id": 23 + } + ] } ], "chr_store_before": [ - { "goal_text": " even X1 /* suspended on X1 */", "goal_id": 19 }, - { "goal_text": " odd X1 /* suspended on X1 */", "goal_id": 14 } + { + "goal_text": " even X1 /* suspended on X1 */", + "goal_id": 19 + }, + { + "goal_text": " odd X1 /* suspended on X1 */", + "goal_id": 14 + } ], "chr_store_after": [] } @@ -1287,20 +1474,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "fail", "goal_id": 24 } ], + "siblings": [ + { + "goal_text": "fail", + "goal_id": 24 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 15, "runtime_id": 0 @@ -1322,11 +1523,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 15, "runtime_id": 0 @@ -1371,6 +1577,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1415,4 +1622,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace_cut.elab.json b/src/tests/sources/trace_cut.elab.json index 6c4acdd..83a848a 100644 --- a/src/tests/sources/trace_cut.elab.json +++ b/src/tests/sources/trace_cut.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -35,11 +41,19 @@ ], "events": [] }, - "siblings": [ { "goal_text": "p", "goal_id": 5 } ], + "siblings": [ + { + "goal_text": "p", + "goal_id": 5 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 7 ], + "more_successful_attempts": [ + 7 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -95,11 +109,19 @@ ], "events": [] }, - "siblings": [ { "goal_text": "fail", "goal_id": 6 } ], + "siblings": [ + { + "goal_text": "fail", + "goal_id": 6 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 4 ], + "more_successful_attempts": [ + 4 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -156,6 +178,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -231,13 +254,20 @@ "events": [] }, "siblings": [ - { "goal_text": "!", "goal_id": 7 }, - { "goal_text": "fail", "goal_id": 8 } + { + "goal_text": "!", + "goal_id": 7 + }, + { + "goal_text": "fail", + "goal_id": 8 + } ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -291,7 +321,10 @@ "cut_goal_id": 7, "cut_victims": [ { - "cut_branch_for_goal": { "goal_text": "p", "goal_id": 5 }, + "cut_branch_for_goal": { + "goal_text": "p", + "goal_id": 5 + }, "cut_branch": { "rule_text": "p :- .", "rule_loc": [ @@ -306,7 +339,10 @@ } }, { - "cut_branch_for_goal": { "goal_text": "p", "goal_id": 5 }, + "cut_branch_for_goal": { + "goal_text": "p", + "goal_id": 5 + }, "cut_branch": { "rule_text": "p :- (print 1).", "rule_loc": [ @@ -337,6 +373,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -412,14 +449,24 @@ "events": [] }, "siblings": [ - { "goal_text": "q", "goal_id": 9 }, - { "goal_text": "!", "goal_id": 10 }, - { "goal_text": "q => (q :- !) => q", "goal_id": 11 } + { + "goal_text": "q", + "goal_id": 9 + }, + { + "goal_text": "!", + "goal_id": 10 + }, + { + "goal_text": "q => (q :- !) => q", + "goal_id": 11 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -480,6 +527,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -533,7 +581,10 @@ "cut_goal_id": 10, "cut_victims": [ { - "cut_branch_for_goal": { "goal_text": "q", "goal_id": 9 }, + "cut_branch_for_goal": { + "goal_text": "q", + "goal_id": 9 + }, "cut_branch": { "rule_text": "q :- (print 2).", "rule_loc": [ @@ -567,15 +618,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "(q :- !) => q", "goal_id": 12 } ], + "siblings": [ + { + "goal_text": "(q :- !) => q", + "goal_id": 12 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -583,7 +644,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "q :- ." ] + "payload": [ + "q :- ." + ] } ], "step_id": 10, @@ -628,15 +691,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "q", "goal_id": 13 } ], + "siblings": [ + { + "goal_text": "q", + "goal_id": 13 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -644,7 +717,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "q :- !." ] + "payload": [ + "q :- !." + ] } ], "step_id": 11, @@ -656,7 +731,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "q :- ." ] + "payload": [ + "q :- ." + ] } ], "step_id": 10, @@ -701,20 +778,38 @@ "attempt": { "rule": [ "UserRule", - { "rule_text": "q :- !.", "rule_loc": [ "Context", 11 ] } + { + "rule_text": "q :- !.", + "rule_loc": [ + "Context", + 11 + ] + } ], "events": [] }, - "siblings": [ { "goal_text": "!", "goal_id": 14 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 14 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", - { "rule_text": "q :- !.", "rule_loc": [ "Context", 11 ] } + { + "rule_text": "q :- !.", + "rule_loc": [ + "Context", + 11 + ] + } ], "step_id": 12, "runtime_id": 0 @@ -725,7 +820,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "q :- !." ] + "payload": [ + "q :- !." + ] } ], "step_id": 11, @@ -737,7 +834,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "q :- ." ] + "payload": [ + "q :- ." + ] } ], "step_id": 10, @@ -776,14 +875,23 @@ "cut_goal_id": 14, "cut_victims": [ { - "cut_branch_for_goal": { "goal_text": "q", "goal_id": 13 }, + "cut_branch_for_goal": { + "goal_text": "q", + "goal_id": 13 + }, "cut_branch": { "rule_text": "q :- .", - "rule_loc": [ "Context", 10 ] + "rule_loc": [ + "Context", + 10 + ] } }, { - "cut_branch_for_goal": { "goal_text": "q", "goal_id": 13 }, + "cut_branch_for_goal": { + "goal_text": "q", + "goal_id": 13 + }, "cut_branch": { "rule_text": "q :- .", "rule_loc": [ @@ -798,7 +906,10 @@ } }, { - "cut_branch_for_goal": { "goal_text": "q", "goal_id": 13 }, + "cut_branch_for_goal": { + "goal_text": "q", + "goal_id": 13 + }, "cut_branch": { "rule_text": "q :- (print 2).", "rule_loc": [ @@ -817,4 +928,4 @@ ], "color": "Grey" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace_findall.elab.json b/src/tests/sources/trace_findall.elab.json index c2a717f..33a7ab9 100644 --- a/src/tests/sources/trace_findall.elab.json +++ b/src/tests/sources/trace_findall.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -36,13 +42,20 @@ "events": [] }, "siblings": [ - { "goal_text": "std.findall (p _) X0", "goal_id": 5 }, - { "goal_text": "print X0", "goal_id": 6 } + { + "goal_text": "std.findall (p _) X0", + "goal_id": 5 + }, + { + "goal_text": "print X0", + "goal_id": 6 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -97,16 +110,27 @@ } ], "events": [ - [ "Assign", "A0 := p _" ], [ "Assign", "A1 := X0" ] + [ + "Assign", + "A0 := p _" + ], + [ + "Assign", + "A1 := X0" + ] ] }, "siblings": [ - { "goal_text": "findall_solutions (p _) X0", "goal_id": 7 } + { + "goal_text": "findall_solutions (p _) X0", + "goal_id": 7 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -163,7 +187,13 @@ { "step_id": 0, "runtime_id": 1, - "step": [ "Init", { "goal_text": "p X0", "goal_id": 8 } ], + "step": [ + "Init", + { + "goal_text": "p X0", + "goal_id": 8 + } + ], "color": "Grey" }, { @@ -194,13 +224,22 @@ ] } ], - "events": [ [ "Assign", "X0 := 1" ] ] + "events": [ + [ + "Assign", + "X0 := 1" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], - "more_successful_attempts": [ 2, 3 ], + "more_successful_attempts": [ + 2, + 3 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -254,13 +293,21 @@ ] } ], - "events": [ [ "Assign", "X0 := 2" ] ] + "events": [ + [ + "Assign", + "X0 := 2" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], - "more_successful_attempts": [ 3 ], + "more_successful_attempts": [ + 3 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -314,13 +361,24 @@ ] } ], - "events": [ [ "Assign", "X0 := 3" ] ] + "events": [ + [ + "Assign", + "X0 := 3" + ] + ] }, - "siblings": [ { "goal_text": "p 2", "goal_id": 9 } ], + "siblings": [ + { + "goal_text": "p 2", + "goal_id": 9 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -381,6 +439,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -426,12 +485,18 @@ "color": "Green" } ], - "findall_solution_text": [ "X0 := [p 1, p 2, p 3]" ], + "findall_solution_text": [ + "X0 := [p 1, p 2, p 3]" + ], "findall_stack": [ { "rule": [ "BuiltinRule", - { "name": "findall", "kind": "FFI", "payload": [] } + { + "name": "findall", + "kind": "FFI", + "payload": [] + } ], "step_id": 3, "runtime_id": 0 @@ -494,7 +559,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -503,11 +572,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "step_id": 4, "runtime_id": 0 @@ -536,4 +610,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace_implication.elab.json b/src/tests/sources/trace_implication.elab.json index 815e0a1..16b15e1 100644 --- a/src/tests/sources/trace_implication.elab.json +++ b/src/tests/sources/trace_implication.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -45,6 +51,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -98,13 +105,26 @@ ] } ], - "events": [ [ "Assign", "A0 := x0 => z0" ] ] + "events": [ + [ + "Assign", + "A0 := x0 => z0" + ] + ] }, - "siblings": [ { "goal_text": "x0 => z0", "goal_id": 6 } ], + "siblings": [ + { + "goal_text": "x0 => z0", + "goal_id": 6 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 5 ], + "more_successful_attempts": [ + 5 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -164,15 +184,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "z0", "goal_id": 7 } ], + "siblings": [ + { + "goal_text": "z0", + "goal_id": 7 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -180,7 +210,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x0 :- ." ] + "payload": [ + "x0 :- ." + ] } ], "step_id": 3, @@ -241,6 +273,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -248,7 +281,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x0 :- ." ] + "payload": [ + "x0 :- ." + ] } ], "step_id": 3, @@ -342,6 +377,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -414,13 +450,26 @@ ] } ], - "events": [ [ "Assign", "A0 := (x1 , y1) => z1" ] ] + "events": [ + [ + "Assign", + "A0 := (x1 , y1) => z1" + ] + ] }, - "siblings": [ { "goal_text": "(x1 , y1) => z1", "goal_id": 9 } ], + "siblings": [ + { + "goal_text": "(x1 , y1) => z1", + "goal_id": 9 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 9 ], + "more_successful_attempts": [ + 9 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -499,15 +548,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "z1", "goal_id": 10 } ], + "siblings": [ + { + "goal_text": "z1", + "goal_id": 10 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -515,7 +574,10 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x1 :- .", "y1 :- ." ] + "payload": [ + "x1 :- .", + "y1 :- ." + ] } ], "step_id": 7, @@ -595,6 +657,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -602,7 +665,10 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x1 :- .", "y1 :- ." ] + "payload": [ + "x1 :- .", + "y1 :- ." + ] } ], "step_id": 7, @@ -715,6 +781,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -806,13 +873,26 @@ ] } ], - "events": [ [ "Assign", "A0 := [x2, y2] => z2" ] ] + "events": [ + [ + "Assign", + "A0 := [x2, y2] => z2" + ] + ] }, - "siblings": [ { "goal_text": "[x2, y2] => z2", "goal_id": 12 } ], + "siblings": [ + { + "goal_text": "[x2, y2] => z2", + "goal_id": 12 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 13 ], + "more_successful_attempts": [ + 13 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -910,15 +990,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "z2", "goal_id": 13 } ], + "siblings": [ + { + "goal_text": "z2", + "goal_id": 13 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -926,7 +1016,10 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x2 :- .", "y2 :- ." ] + "payload": [ + "x2 :- .", + "y2 :- ." + ] } ], "step_id": 11, @@ -1025,6 +1118,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1032,7 +1126,10 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x2 :- .", "y2 :- ." ] + "payload": [ + "x2 :- .", + "y2 :- ." + ] } ], "step_id": 11, @@ -1164,6 +1261,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1275,16 +1373,25 @@ } ], "events": [ - [ "Assign", "A0 := [(x3 :- !), (y3 :- !)] => z3" ] + [ + "Assign", + "A0 := [(x3 :- !), (y3 :- !)] => z3" + ] ] }, "siblings": [ - { "goal_text": "[(x3 :- !), (y3 :- !)] => z3", "goal_id": 15 } + { + "goal_text": "[(x3 :- !), (y3 :- !)] => z3", + "goal_id": 15 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 17 ], + "more_successful_attempts": [ + 17 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1401,15 +1508,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "z3", "goal_id": 16 } ], + "siblings": [ + { + "goal_text": "z3", + "goal_id": 16 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1417,7 +1534,10 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x3 :- !.", "y3 :- !." ] + "payload": [ + "x3 :- !.", + "y3 :- !." + ] } ], "step_id": 15, @@ -1535,6 +1655,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1542,7 +1663,10 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x3 :- !.", "y3 :- !." ] + "payload": [ + "x3 :- !.", + "y3 :- !." + ] } ], "step_id": 15, @@ -1677,7 +1801,10 @@ } ], "events": [ - [ "Assign", "A0 := (x4 :- y4 , !) => z4 ; [] => z5 ; true" ] + [ + "Assign", + "A0 := (x4 :- y4 , !) => z4 ; [] => z5 ; true" + ] ] }, "siblings": [ @@ -1690,6 +1817,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1819,15 +1947,26 @@ ] } ], - "events": [ [ "Assign", "A0 := (x4 :- y4 , !) => z4" ] ] + "events": [ + [ + "Assign", + "A0 := (x4 :- y4 , !) => z4" + ] + ] }, "siblings": [ - { "goal_text": "(x4 :- y4 , !) => z4", "goal_id": 18 } + { + "goal_text": "(x4 :- y4 , !) => z4", + "goal_id": 18 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 21 ], + "more_successful_attempts": [ + 21 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1963,15 +2102,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "z4", "goal_id": 19 } ], + "siblings": [ + { + "goal_text": "z4", + "goal_id": 19 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1979,7 +2128,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x4 :- y4, !." ] + "payload": [ + "x4 :- y4, !." + ] } ], "step_id": 19, @@ -2116,6 +2267,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2123,7 +2275,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "x4 :- y4, !." ] + "payload": [ + "x4 :- y4, !." + ] } ], "step_id": 19, @@ -2276,13 +2430,24 @@ ] } ], - "events": [ [ "Assign", "A0 := [] => z5 ; true" ] ] + "events": [ + [ + "Assign", + "A0 := [] => z5 ; true" + ] + ] }, - "siblings": [ { "goal_text": "[] => z5 ; true", "goal_id": 20 } ], + "siblings": [ + { + "goal_text": "[] => z5 ; true", + "goal_id": 20 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2431,13 +2596,26 @@ ] } ], - "events": [ [ "Assign", "A0 := [] => z5" ] ] + "events": [ + [ + "Assign", + "A0 := [] => z5" + ] + ] }, - "siblings": [ { "goal_text": "[] => z5", "goal_id": 21 } ], + "siblings": [ + { + "goal_text": "[] => z5", + "goal_id": 21 + } + ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 25 ], + "more_successful_attempts": [ + 25 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2592,20 +2770,34 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "z5", "goal_id": 22 } ], + "siblings": [ + { + "goal_text": "z5", + "goal_id": 22 + } + ], "siblings_aggregated_outcome": "Fail" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 23, "runtime_id": 0 @@ -2760,11 +2952,16 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 23, "runtime_id": 0 @@ -2935,13 +3132,24 @@ ] } ], - "events": [ [ "Assign", "A0 := true" ] ] + "events": [ + [ + "Assign", + "A0 := true" + ] + ] }, - "siblings": [ { "goal_text": "true", "goal_id": 23 } ], + "siblings": [ + { + "goal_text": "true", + "goal_id": 23 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3116,6 +3324,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3274,4 +3483,4 @@ ], "color": "Green" } -] +] \ No newline at end of file diff --git a/src/tests/sources/trace_w.elab.json b/src/tests/sources/trace_w.elab.json index 068ee3c..3e0c997 100644 --- a/src/tests/sources/trace_w.elab.json +++ b/src/tests/sources/trace_w.elab.json @@ -2,7 +2,13 @@ { "step_id": 0, "runtime_id": 0, - "step": [ "Init", { "goal_text": "main", "goal_id": 4 } ], + "step": [ + "Init", + { + "goal_text": "main", + "goal_id": 4 + } + ], "color": "Grey" }, { @@ -35,11 +41,17 @@ ], "events": [] }, - "siblings": [ { "goal_text": "tests [2]", "goal_id": 5 } ], + "siblings": [ + { + "goal_text": "tests [2]", + "goal_id": 5 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -93,16 +105,28 @@ ] } ], - "events": [ [ "Assign", "A0 := 2" ] ] + "events": [ + [ + "Assign", + "A0 := 2" + ] + ] }, "siblings": [ - { "goal_text": "test 2 X0", "goal_id": 6 }, - { "goal_text": "typecheck X0", "goal_id": 7 } + { + "goal_text": "test 2 X0", + "goal_id": 6 + }, + { + "goal_text": "typecheck X0", + "goal_id": 7 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -187,6 +211,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -290,22 +315,32 @@ "goal_text": "print Checking: (let (lam c0 \\ c0) X1 c0 \\ app c0 (global []))", "goal_id": 8 }, - { "goal_text": "theta []", "goal_id": 9 }, + { + "goal_text": "theta []", + "goal_id": 9 + }, { "goal_text": "of (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) X2", "goal_id": 10 }, - { "goal_text": "!", "goal_id": 11 }, + { + "goal_text": "!", + "goal_id": 11 + }, { "goal_text": "print (let (lam c0 \\ c0) X1 c0 \\ app c0 (global [])) : X2", "goal_id": 12 }, - { "goal_text": "print", "goal_id": 13 } + { + "goal_text": "print", + "goal_id": 13 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -384,7 +419,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -393,11 +432,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "step_id": 5, "runtime_id": 0 @@ -492,15 +536,24 @@ ] } ], - "events": [ [ "Assign", "A0 := []" ] ] + "events": [ + [ + "Assign", + "A0 := []" + ] + ] }, "siblings": [ - { "goal_text": "new_constraint (theta []) [_]", "goal_id": 14 } + { + "goal_text": "new_constraint (theta []) [_]", + "goal_id": 14 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -612,7 +665,14 @@ } ], "events": [ - [ "Assign", "A0 := theta []" ], [ "Assign", "A1 := [_]" ] + [ + "Assign", + "A0 := theta []" + ], + [ + "Assign", + "A1 := [_]" + ] ] }, "siblings": [ @@ -625,6 +685,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -734,12 +795,19 @@ { "suspend_goal_id": 15, "suspend_goal_text": "declare_constraint (theta []) [_]", - "suspend_sibling": { "goal_text": "theta []", "goal_id": 16 }, + "suspend_sibling": { + "goal_text": "theta []", + "goal_id": 16 + }, "suspend_stack": [ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 8, "runtime_id": 0 @@ -873,15 +941,33 @@ } ], "events": [ - [ "Assign", "A0 := lam c0 \\ c0" ], - [ "Assign", "A2 := X1" ], - [ "Assign", "A3 := c0 \\\napp c0 (global [])" ], - [ "Assign", "X2 := mono X3" ] + [ + "Assign", + "A0 := lam c0 \\ c0" + ], + [ + "Assign", + "A2 := X1" + ], + [ + "Assign", + "A3 := c0 \\\napp c0 (global [])" + ], + [ + "Assign", + "X2 := mono X3" + ] ] }, "siblings": [ - { "goal_text": "of (lam c0 \\ c0) (mono X4)", "goal_id": 17 }, - { "goal_text": "gammabar (mono X4) X1", "goal_id": 18 }, + { + "goal_text": "of (lam c0 \\ c0) (mono X4)", + "goal_id": 17 + }, + { + "goal_text": "gammabar (mono X4) X1", + "goal_id": 18 + }, { "goal_text": "pi c0 \\ of c0 X1 => of (app c0 (global [])) (mono X3)", "goal_id": 19 @@ -891,6 +977,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1002,8 +1089,14 @@ } ], "events": [ - [ "Assign", "A0 := c0 \\\nc0" ], - [ "Assign", "X4 := X5 ===> X6" ] + [ + "Assign", + "A0 := c0 \\\nc0" + ], + [ + "Assign", + "X4 := X5 ===> X6" + ] ] }, "siblings": [ @@ -1016,6 +1109,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1132,7 +1226,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -1146,10 +1244,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 11, "runtime_id": 0 @@ -1269,15 +1373,25 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, - "siblings": [ { "goal_text": "of c0 (mono X6)", "goal_id": 22 } ], + "siblings": [ + { + "goal_text": "of c0 (mono X6)", + "goal_id": 22 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1285,7 +1399,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "(of c0 (mono X5)) :- ." ] + "payload": [ + "(of c0 (mono X5)) :- ." + ] } ], "step_id": 12, @@ -1293,7 +1409,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 11, "runtime_id": 0 @@ -1415,23 +1536,35 @@ "UserRule", { "rule_text": "(of c0 (mono X5)) :- .", - "rule_loc": [ "Context", 12 ] + "rule_loc": [ + "Context", + 12 + ] } ], - "events": [ [ "Assign", "X6 := X5" ] ] + "events": [ + [ + "Assign", + "X6 := X5" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(of c0 (mono X5)) :- .", - "rule_loc": [ "Context", 12 ] + "rule_loc": [ + "Context", + 12 + ] } ], "step_id": 13, @@ -1443,7 +1576,9 @@ { "name": "implication", "kind": "Logic", - "payload": [ "(of c0 (mono X5)) :- ." ] + "payload": [ + "(of c0 (mono X5)) :- ." + ] } ], "step_id": 12, @@ -1451,7 +1586,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 11, "runtime_id": 0 @@ -1585,7 +1725,14 @@ } ], "events": [ - [ "Assign", "A0 := X5 ===> X5" ], [ "Assign", "A1 := X1" ] + [ + "Assign", + "A0 := X5 ===> X5" + ], + [ + "Assign", + "A1 := X1" + ] ] }, "siblings": [ @@ -1598,6 +1745,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1728,8 +1876,14 @@ } ], "events": [ - [ "Assign", "A0 := gammabar (mono (X5 ===> X5)) X1" ], - [ "Assign", "A1 := [_]" ] + [ + "Assign", + "A0 := gammabar (mono (X5 ===> X5)) X1" + ], + [ + "Assign", + "A1 := [_]" + ] ] }, "siblings": [ @@ -1742,6 +1896,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -1878,7 +2033,11 @@ { "rule": [ "BuiltinRule", - { "name": "suspend", "kind": "Logic", "payload": [] } + { + "name": "suspend", + "kind": "Logic", + "payload": [] + } ], "step_id": 16, "runtime_id": 0 @@ -2061,13 +2220,22 @@ } ], "events": [ - [ "Assign", "A5 := []" ], - [ "Assign", "A2 := []" ], + [ + "Assign", + "A5 := []" + ], + [ + "Assign", + "A2 := []" + ], [ "Assign", "A0 := uvar frozen--452 [] ===> uvar frozen--452 []" ], - [ "Assign", "A6 := X3" ] + [ + "Assign", + "A6 := X3" + ] ] }, "siblings": [ @@ -2092,6 +2260,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2150,8 +2319,14 @@ "Assign", "A0 := uvar frozen--452 [] ===> uvar frozen--452 []" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A2 := X4" ] + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A2 := X4" + ] ] }, "siblings": [ @@ -2164,6 +2339,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2237,10 +2413,22 @@ } ], "events": [ - [ "Assign", "A0 := uvar frozen--452 []" ], - [ "Assign", "A3 := uvar frozen--452 []" ], - [ "Assign", "A1 := []" ], - [ "Assign", "A4 := X4" ] + [ + "Assign", + "A0 := uvar frozen--452 []" + ], + [ + "Assign", + "A3 := uvar frozen--452 []" + ], + [ + "Assign", + "A1 := []" + ], + [ + "Assign", + "A4 := X4" + ] ] }, "siblings": [ @@ -2257,6 +2445,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2349,9 +2538,18 @@ } ], "events": [ - [ "Assign", "A1 := uvar frozen--452 []" ], - [ "Assign", "A0 := []" ], - [ "Assign", "A2 := X7" ] + [ + "Assign", + "A1 := uvar frozen--452 []" + ], + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A2 := X7" + ] ] }, "siblings": [ @@ -2364,6 +2562,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2479,7 +2678,10 @@ "Assign", "A0 := mem [] (uvar frozen--452 [])" ], - [ "Assign", "A1 := X7 = []" ] + [ + "Assign", + "A1 := X7 = []" + ] ] }, "siblings": [ @@ -2487,13 +2689,22 @@ "goal_text": "mem [] (uvar frozen--452 [])", "goal_id": 35 }, - { "goal_text": "!", "goal_id": 36 }, - { "goal_text": "X7 = []", "goal_id": 37 } + { + "goal_text": "!", + "goal_id": 36 + }, + { + "goal_text": "X7 = []", + "goal_id": 37 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 8 ], + "more_successful_attempts": [ + 8 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2624,8 +2835,14 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := frozen--452" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := frozen--452" + ] ] }, "siblings": [ @@ -2638,6 +2855,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2770,6 +2988,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -2920,7 +3139,8 @@ ], "events": [ [ - "Assign", "A0 := X7 = [uvar frozen--452 []]" + "Assign", + "A0 := X7 = [uvar frozen--452 []]" ] ] }, @@ -2934,6 +3154,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3057,7 +3278,10 @@ } ], "events": [ - [ "Assign", "X7 := [uvar frozen--452 []]" ] + [ + "Assign", + "X7 := [uvar frozen--452 []]" + ] ] }, "siblings": [], @@ -3065,11 +3289,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 9, "runtime_id": 1 @@ -3203,9 +3432,18 @@ } ], "events": [ - [ "Assign", "A1 := uvar frozen--452 []" ], - [ "Assign", "A0 := [uvar frozen--452 []]" ], - [ "Assign", "A2 := X4" ] + [ + "Assign", + "A1 := uvar frozen--452 []" + ], + [ + "Assign", + "A0 := [uvar frozen--452 []]" + ], + [ + "Assign", + "A2 := X4" + ] ] }, "siblings": [ @@ -3218,6 +3456,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3334,7 +3573,8 @@ "A0 := mem [uvar frozen--452 []] (uvar frozen--452 [])" ], [ - "Assign", "A1 := X4 = [uvar frozen--452 []]" + "Assign", + "A1 := X4 = [uvar frozen--452 []]" ] ] }, @@ -3343,7 +3583,10 @@ "goal_text": "mem [uvar frozen--452 []] (uvar frozen--452 [])", "goal_id": 41 }, - { "goal_text": "!", "goal_id": 42 }, + { + "goal_text": "!", + "goal_id": 42 + }, { "goal_text": "X4 = [uvar frozen--452 []]", "goal_id": 43 @@ -3353,6 +3596,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3483,8 +3727,14 @@ } ], "events": [ - [ "Assign", "A0 := [uvar frozen--452 []]" ], - [ "Assign", "A1 := frozen--452" ] + [ + "Assign", + "A0 := [uvar frozen--452 []]" + ], + [ + "Assign", + "A1 := frozen--452" + ] ] }, "siblings": [ @@ -3497,6 +3747,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3646,15 +3897,27 @@ } ], "events": [ - [ "Assign", "A0 := uvar frozen--452 []" ], - [ "Assign", "X9 := []" ] + [ + "Assign", + "A0 := uvar frozen--452 []" + ], + [ + "Assign", + "X9 := []" + ] ] }, - "siblings": [ { "goal_text": "!", "goal_id": 45 } ], + "siblings": [ + { + "goal_text": "!", + "goal_id": 45 + } + ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -3878,7 +4141,10 @@ } ], "events": [ - [ "Assign", "X4 := [uvar frozen--452 []]" ] + [ + "Assign", + "X4 := [uvar frozen--452 []]" + ] ] }, "siblings": [], @@ -3886,11 +4152,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 16, "runtime_id": 1 @@ -4024,8 +4295,14 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "X5 := []" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "X5 := []" + ] ] }, "siblings": [], @@ -4033,6 +4310,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4106,11 +4384,21 @@ } ], "events": [ - [ "Assign", "A0 := uvar frozen--452 []" ], - [ "Assign", "A2 := []" ], - [ "Assign", "A1 := c0 \\\nnot (mem [] c0)" ], [ - "Assign", "X6 := [uvar frozen--452 [] | X10]" + "Assign", + "A0 := uvar frozen--452 []" + ], + [ + "Assign", + "A2 := []" + ], + [ + "Assign", + "A1 := c0 \\\nnot (mem [] c0)" + ], + [ + "Assign", + "X6 := [uvar frozen--452 [] | X10]" ] ] }, @@ -4119,7 +4407,10 @@ "goal_text": "not (mem [] (uvar frozen--452 []))", "goal_id": 46 }, - { "goal_text": "!", "goal_id": 47 }, + { + "goal_text": "!", + "goal_id": 47 + }, { "goal_text": "filter [] (c0 \\ not (mem [] c0)) X10", "goal_id": 48 @@ -4129,6 +4420,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4213,13 +4505,22 @@ "goal_text": "mem [] (uvar frozen--452 [])", "goal_id": 49 }, - { "goal_text": "!", "goal_id": 50 }, - { "goal_text": "fail", "goal_id": 51 } + { + "goal_text": "!", + "goal_id": 50 + }, + { + "goal_text": "fail", + "goal_id": 51 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 22 ], + "more_successful_attempts": [ + 22 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4312,8 +4613,14 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := frozen--452" ] + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := frozen--452" + ] ] }, "siblings": [ @@ -4326,6 +4633,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4420,6 +4728,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4537,6 +4846,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4659,13 +4969,19 @@ ] } ], - "events": [ [ "Assign", "X10 := []" ] ] + "events": [ + [ + "Assign", + "X10 := []" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4758,14 +5074,26 @@ } ], "events": [ - [ "Assign", "A1 := uvar frozen--452 []" ], - [ "Assign", "A3 := []" ], - [ "Assign", "A0 := []" ], + [ + "Assign", + "A1 := uvar frozen--452 []" + ], + [ + "Assign", + "A3 := []" + ], + [ + "Assign", + "A0 := []" + ], [ "Assign", "A4 := uvar frozen--452 [] ===> uvar frozen--452 []" ], - [ "Assign", "X3 := all X12 c0 \\ X13 c0" ] + [ + "Assign", + "X3 := all X12 c0 \\ X13 c0" + ] ] }, "siblings": [ @@ -4782,6 +5110,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4859,7 +5188,10 @@ "Assign", "A0 := mem [] (uvar frozen--452 [])" ], - [ "Assign", "A1 := X12 = eqt" ] + [ + "Assign", + "A1 := X12 = eqt" + ] ] }, "siblings": [ @@ -4867,13 +5199,22 @@ "goal_text": "mem [] (uvar frozen--452 [])", "goal_id": 55 }, - { "goal_text": "!", "goal_id": 56 }, - { "goal_text": "X12 = eqt", "goal_id": 57 } + { + "goal_text": "!", + "goal_id": 56 + }, + { + "goal_text": "X12 = eqt", + "goal_id": 57 + } ], "siblings_aggregated_outcome": "Fail" } ], - "more_successful_attempts": [ 29 ], + "more_successful_attempts": [ + 29 + ], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -4966,11 +5307,17 @@ } ], "events": [ - [ "Assign", "A0 := []" ], - [ "Assign", "A1 := frozen--452" ] - ] - }, - "siblings": [ + [ + "Assign", + "A0 := []" + ], + [ + "Assign", + "A1 := frozen--452" + ] + ] + }, + "siblings": [ { "goal_text": "mem! [] (uvar frozen--452 X14)", "goal_id": 58 @@ -4980,6 +5327,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5074,6 +5422,7 @@ "failed_attempts": [], "successful_attempts": [], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5184,15 +5533,24 @@ ] } ], - "events": [ [ "Assign", "A0 := X12 = any" ] ] + "events": [ + [ + "Assign", + "A0 := X12 = any" + ] + ] }, "siblings": [ - { "goal_text": "X12 = any", "goal_id": 59 } + { + "goal_text": "X12 = any", + "goal_id": 59 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5277,18 +5635,28 @@ "payload": [] } ], - "events": [ [ "Assign", "X12 := any" ] ] + "events": [ + [ + "Assign", + "X12 := any" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 30, "runtime_id": 1 @@ -5388,11 +5756,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 1 @@ -5473,6 +5846,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5491,7 +5865,11 @@ { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 1 @@ -5572,8 +5950,14 @@ "Assign", "A0 := uvar frozen--452 [] ===> uvar frozen--452 []" ], - [ "Assign", "X13 := c0 \\\nX15 c0" ], - [ "Assign", "X15^1 := mono X16^1" ] + [ + "Assign", + "X13 := c0 \\\nX15 c0" + ], + [ + "Assign", + "X15^1 := mono X16^1" + ] ] }, "siblings": [ @@ -5586,6 +5970,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5623,7 +6008,11 @@ { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 1 @@ -5700,9 +6089,18 @@ } ], "events": [ - [ "Assign", "A0 := uvar frozen--452 []" ], - [ "Assign", "A2 := uvar frozen--452 []" ], - [ "Assign", "X16^1 := X17^1 ===> X18^1" ] + [ + "Assign", + "A0 := uvar frozen--452 []" + ], + [ + "Assign", + "A2 := uvar frozen--452 []" + ], + [ + "Assign", + "X16^1 := X17^1 ===> X18^1" + ] ] }, "siblings": [ @@ -5719,6 +6117,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -5775,7 +6174,11 @@ { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 1 @@ -5840,23 +6243,35 @@ "UserRule", { "rule_text": "(copy (uvar frozen--452 []) c0) :- .", - "rule_loc": [ "Context", 32 ] + "rule_loc": [ + "Context", + 32 + ] } ], - "events": [ [ "Assign", "X17^1 := c0" ] ] + "events": [ + [ + "Assign", + "X17^1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (uvar frozen--452 []) c0) :- .", - "rule_loc": [ "Context", 32 ] + "rule_loc": [ + "Context", + 32 + ] } ], "step_id": 35, @@ -5917,7 +6332,11 @@ { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 1 @@ -5982,23 +6401,35 @@ "UserRule", { "rule_text": "(copy (uvar frozen--452 []) c0) :- .", - "rule_loc": [ "Context", 32 ] + "rule_loc": [ + "Context", + 32 + ] } ], - "events": [ [ "Assign", "X18^1 := c0" ] ] + "events": [ + [ + "Assign", + "X18^1 := c0" + ] + ] }, "siblings": [], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(copy (uvar frozen--452 []) c0) :- .", - "rule_loc": [ "Context", 32 ] + "rule_loc": [ + "Context", + 32 + ] } ], "step_id": 36, @@ -6059,7 +6490,11 @@ { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 31, "runtime_id": 1 @@ -6109,7 +6544,9 @@ } ] }, - "chr_removed_goals": [ 25 ], + "chr_removed_goals": [ + 25 + ], "chr_new_goals": [ { "goal_text": "_ => X1 = all any c0 \\ mono (c0 ===> c0)", @@ -6123,10 +6560,16 @@ "goal_text": " gammabar (mono (X5 ===> X5)) X1 /* suspended on X7 */", "goal_id": 25 }, - { "goal_text": " theta [] /* suspended on X7 */", "goal_id": 16 } + { + "goal_text": " theta [] /* suspended on X7 */", + "goal_id": 16 + } ], "chr_store_after": [ - { "goal_text": " theta [] /* suspended on X7 */", "goal_id": 16 } + { + "goal_text": " theta [] /* suspended on X7 */", + "goal_id": 16 + } ] } ], @@ -6147,7 +6590,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -6161,11 +6608,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 18, "runtime_id": 0 @@ -6190,10 +6642,17 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "eq", "kind": "Logic", "payload": [] } + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "events": [ - [ "Assign", "X1 := all any c0 \\ mono (c0 ===> c0)" ] + [ + "Assign", + "X1 := all any c0 \\ mono (c0 ===> c0)" + ] ] }, "siblings": [], @@ -6201,10 +6660,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "eq", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "eq", + "kind": "Logic", + "payload": [] + } ], "step_id": 19, "runtime_id": 0 @@ -6212,7 +6677,11 @@ { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "step_id": 18, "runtime_id": 0 @@ -6237,7 +6706,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "pi", "kind": "Logic", "payload": [] } + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -6251,10 +6724,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -6355,7 +6834,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "implication", "kind": "Logic", "payload": [] } + { + "name": "implication", + "kind": "Logic", + "payload": [] + } ], "events": [] }, @@ -6369,6 +6852,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -6386,7 +6870,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -6501,19 +6990,35 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], - [ "Assign", "A3 := global []" ], - [ "Assign", "A2 := X3" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A3 := global []" + ], + [ + "Assign", + "A2 := X3" + ] ] }, "siblings": [ - { "goal_text": "of c0 (mono (X8^1 ===> X3))", "goal_id": 69 }, - { "goal_text": "of (global []) (mono X8^1)", "goal_id": 70 } + { + "goal_text": "of c0 (mono (X8^1 ===> X3))", + "goal_id": 69 + }, + { + "goal_text": "of (global []) (mono X8^1)", + "goal_id": 70 + } ], "siblings_aggregated_outcome": "Success" } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -6550,7 +7055,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -6651,7 +7161,10 @@ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "events": [ @@ -6681,11 +7194,21 @@ } ], "events": [ - [ "Assign", "A0 := c0" ], [ "Assign", "A3 := X8^1 ===> X3" ] + [ + "Assign", + "A0 := c0" + ], + [ + "Assign", + "A3 := X8^1 ===> X3" + ] ] }, "siblings": [ - { "goal_text": "of c0 (all X9^1 X10^1)", "goal_id": 71 }, + { + "goal_text": "of c0 (all X9^1 X10^1)", + "goal_id": 71 + }, { "goal_text": "specialize (all X9^1 X10^1) (X8^1 ===> X3)", "goal_id": 72 @@ -6695,13 +7218,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "step_id": 23, @@ -6742,7 +7269,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -6845,12 +7377,21 @@ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "events": [ - [ "Assign", "X9^1 := any" ], - [ "Assign", "X10^1 := c1 \\\nmono (c1 ===> c1)" ] + [ + "Assign", + "X9^1 := any" + ], + [ + "Assign", + "X10^1 := c1 \\\nmono (c1 ===> c1)" + ] ] }, "siblings": [], @@ -6858,13 +7399,17 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "step_id": 24, @@ -6875,7 +7420,10 @@ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "step_id": 23, @@ -6916,7 +7464,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -7031,8 +7584,14 @@ } ], "events": [ - [ "Assign", "A1 := c1 \\\nmono (c1 ===> c1)" ], - [ "Assign", "A2 := X8^1 ===> X3" ] + [ + "Assign", + "A1 := c1 \\\nmono (c1 ===> c1)" + ], + [ + "Assign", + "A2 := X8^1 ===> X3" + ] ] }, "siblings": [ @@ -7045,6 +7604,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -7070,7 +7630,10 @@ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "step_id": 23, @@ -7111,7 +7674,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -7226,9 +7794,18 @@ } ], "events": [ - [ "Assign", "A0 := X11^1 ===> X11^1" ], - [ "Assign", "X11 c0 := X8 c0" ], - [ "Assign", "X8 c0 := X3" ] + [ + "Assign", + "A0 := X11^1 ===> X11^1" + ], + [ + "Assign", + "X11 c0 := X8 c0" + ], + [ + "Assign", + "X8 c0 := X3" + ] ] }, "siblings": [], @@ -7236,6 +7813,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -7280,7 +7858,10 @@ "UserRule", { "rule_text": "(of c0 (all any (c1 \\ (mono (c1 ===> c1))))) :- .", - "rule_loc": [ "Context", 21 ] + "rule_loc": [ + "Context", + 21 + ] } ], "step_id": 23, @@ -7321,7 +7902,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -7433,7 +8019,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global 1" ] ] + "events": [ + [ + "Fail", + "match global [] with global 1" + ] + ] }, { "rule": [ @@ -7451,7 +8042,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global 2" ] ] + "events": [ + [ + "Fail", + "match global [] with global 2" + ] + ] }, { "rule": [ @@ -7469,7 +8065,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global 3" ] ] + "events": [ + [ + "Fail", + "match global [] with global 3" + ] + ] }, { "rule": [ @@ -7487,7 +8088,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global plus" ] ] + "events": [ + [ + "Fail", + "match global [] with global plus" + ] + ] }, { "rule": [ @@ -7506,7 +8112,10 @@ } ], "events": [ - [ "Fail", "unify mono X3 with all any c0 \\ mono (list c0)" ] + [ + "Fail", + "unify mono X3 with all any c0 \\ mono (list c0)" + ] ] }, { @@ -7525,7 +8134,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global ::" ] ] + "events": [ + [ + "Fail", + "match global [] with global ::" + ] + ] }, { "rule": [ @@ -7543,7 +8157,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global size" ] ] + "events": [ + [ + "Fail", + "match global [] with global size" + ] + ] }, { "rule": [ @@ -7561,7 +8180,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global undup" ] ] + "events": [ + [ + "Fail", + "match global [] with global undup" + ] + ] }, { "rule": [ @@ -7579,7 +8203,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global ," ] ] + "events": [ + [ + "Fail", + "match global [] with global ," + ] + ] } ], "successful_attempts": [ @@ -7601,7 +8230,14 @@ } ], "events": [ - [ "Assign", "A0 := global []" ], [ "Assign", "A3 := X3" ] + [ + "Assign", + "A0 := global []" + ], + [ + "Assign", + "A3 := X3" + ] ] }, "siblings": [ @@ -7618,6 +8254,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -7673,7 +8310,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -7785,7 +8427,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global 1" ] ] + "events": [ + [ + "Fail", + "match global [] with global 1" + ] + ] }, { "rule": [ @@ -7803,7 +8450,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global 2" ] ] + "events": [ + [ + "Fail", + "match global [] with global 2" + ] + ] }, { "rule": [ @@ -7821,7 +8473,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global 3" ] ] + "events": [ + [ + "Fail", + "match global [] with global 3" + ] + ] }, { "rule": [ @@ -7839,7 +8496,12 @@ ] } ], - "events": [ [ "Fail", "match global [] with global plus" ] ] + "events": [ + [ + "Fail", + "match global [] with global plus" + ] + ] } ], "successful_attempts": [ @@ -7861,8 +8523,14 @@ } ], "events": [ - [ "Assign", "X12^1 := any" ], - [ "Assign", "X13^1 := c1 \\\nmono (list c1)" ] + [ + "Assign", + "X12^1 := any" + ], + [ + "Assign", + "X13^1 := c1 \\\nmono (list c1)" + ] ] }, "siblings": [], @@ -7870,6 +8538,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -7944,7 +8613,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -8059,8 +8733,14 @@ } ], "events": [ - [ "Assign", "A1 := c1 \\\nmono (list c1)" ], - [ "Assign", "A2 := X3" ] + [ + "Assign", + "A1 := c1 \\\nmono (list c1)" + ], + [ + "Assign", + "A2 := X3" + ] ] }, "siblings": [ @@ -8073,6 +8753,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -8147,7 +8828,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -8262,10 +8948,22 @@ } ], "events": [ - [ "Assign", "A0 := list X14^1" ], - [ "Assign", "X14^1 := X15 c0" ], - [ "Assign", "0 X15 c0 := c0 \\\n.X16" ], - [ "Assign", "X3 := list X16" ] + [ + "Assign", + "A0 := list X14^1" + ], + [ + "Assign", + "X14^1 := X15 c0" + ], + [ + "Assign", + "0 X15 c0 := c0 \\\n.X16" + ], + [ + "Assign", + "X3 := list X16" + ] ] }, "siblings": [], @@ -8273,6 +8971,7 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ @@ -8366,7 +9065,12 @@ }, { "rule": [ - "BuiltinRule", { "name": "pi", "kind": "Logic", "payload": [] } + "BuiltinRule", + { + "name": "pi", + "kind": "Logic", + "payload": [] + } ], "step_id": 20, "runtime_id": 0 @@ -8984,7 +9688,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -8993,11 +9701,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "step_id": 32, "runtime_id": 0 @@ -9079,7 +9792,11 @@ "attempt": { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "events": [] }, @@ -9088,11 +9805,16 @@ } ], "more_successful_attempts": [], + "more_failing_attempts": [], "stack": [ { "rule": [ "BuiltinRule", - { "name": "print", "kind": "FFI", "payload": [] } + { + "name": "print", + "kind": "FFI", + "payload": [] + } ], "step_id": 33, "runtime_id": 0 @@ -9159,4 +9881,4 @@ ], "color": "Green" } -] +] \ No newline at end of file From ccd1d77bb4c8a128e5a74629e0c9f4dcfe88a757 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sun, 26 Jul 2026 16:41:31 +0200 Subject: [PATCH 09/11] Run tests in CI --- .github/workflows/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 504ad6f..cfbf14e 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -28,6 +28,7 @@ jobs: - run: npm install -g vsce - run: npm install - run: npm run build + - run: npm run test - run: vsce package - name: Save Artifact From b380ef4aa5e7438b45b20902c6425c2db6c9a192 Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sun, 26 Jul 2026 17:29:31 +0200 Subject: [PATCH 10/11] Port remaining sanity checks from the ocaml elaborator --- src/shared/elaborator/presentation.mts | 60 +++++++++++++++++++------- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/src/shared/elaborator/presentation.mts b/src/shared/elaborator/presentation.mts index f1e6c85..d8a3bb6 100644 --- a/src/shared/elaborator/presentation.mts +++ b/src/shared/elaborator/presentation.mts @@ -73,6 +73,7 @@ type Inference = { type PreStep = | R<'Init', { goalId: GoalId, goal: string }> + // TODO: why are these called "TODO"? | R<'Findall_TODO', { goal: string, goalId: GoalId, timestamp: Timestamp, result: string[] }> | R<'CHR_TODO', { failed: CHRAttempt[], successful: CHRAttempt[], storeBefore: Constraint[], storeAfter: Constraint[] }> | R<'Cut', { goalId: GoalId, cuts: PreCut[] }> @@ -273,16 +274,25 @@ export function materialize( throw new Unreachable(step.action); } - // TODO: merge these nicely - const moreFailed = analysis.attempts.get(step.goalId)?.failing - .filter(i => i.runtime === stepId.runtime && i.step > stepId.step) - .map(i => i.step) ?? []; + const more = (ids?: StepId[]): StepIdx[] => + ids?.filter(i => i.runtime === stepId.runtime && i.step > stepId.step) + .map(i => i.step) ?? []; + let moreFailed: StepIdx[] = []; + let moreSuccessful: StepIdx[] = []; + { + const attempts = analysis.attempts.get(step.goalId); + if (attempts) { + moreFailed = more(attempts.failing); + moreSuccessful = more(attempts.successful) + } + } moreFailed.sort(); - const moreSuccessful = analysis.attempts.get(step.goalId)?.successful - .filter(i => i.runtime === stepId.runtime && i.step > stepId.step) - .map(i => i.step) ?? []; moreSuccessful.sort(); - // TODO: assert that no successful -> no more successful + if (successful === null && moreSuccessful.length !== 0) { + throw new CardError( + 'A failed attempt may not have "more successful" attempts' + ) + } preStep = { kind: 'Inference', goalId: step.goalId, @@ -320,13 +330,22 @@ export function materialize( const toChrAttempt = (a: CHRAttempt): C.ChrAttempt => { if (a.loc.kind !== 'File') throw new CardError(`CHR attempt had a non-file location ${a.loc}`); - // TODO: port sanity checks + const conditionCards = preCards + .filter(p => contained(a.timestamp, p.timestamp)) + .map(preCardToCard); + // TODO: catch this earlier? + if (conditionCards.length !== 0) { + const rid = conditionCards[0]?.runtime_id; + if (!conditionCards.every(c => c.runtime_id === rid)) { + throw new CardError( + 'All steps in a CHR attempt are expected to have the same runtime ID' + ) + } + } return { chr_loc: a.loc.file, chr_text: a.code, - chr_condition_cards: preCards - .filter(p => contained(a.timestamp, p.timestamp)) - .map(preCardToCard) + chr_condition_cards: conditionCards } }; @@ -451,20 +470,29 @@ export function materialize( } }, color: { kind: 'Grey' } } - case 'Findall_TODO': + case 'Findall_TODO': { + const innerCards = preCards + .filter(p => contained(step.timestamp, p.timestamp)) + .map(preCardToCard); + const rid = innerCards[0]?.runtime_id; + // TODO: check this sooner + if (!innerCards.every(c => c.runtime_id === rid)) { + throw new CardError( + 'All steps in a findall run are expected to have the same runtime ID' + ) + } return { ...base, step: { kind: 'Findall', value: { findall_goal_id: step.goalId, findall_goal_text: step.goal, - findall_cards: preCards - .filter(p => contained(step.timestamp, p.timestamp)) - .map(preCardToCard), + findall_cards: innerCards, findall_solution_text: step.result, findall_stack: getStack(stepId, elaboration.stackFrames).map(toFrame) } }, color: { kind: 'Green' } } + } default: throw new Unreachable(step) } From f2cecfecbc9bb7de688c931cfd6d474c1dd1439b Mon Sep 17 00:00:00 2001 From: VojtechStep Date: Sun, 26 Jul 2026 22:11:18 +0200 Subject: [PATCH 11/11] Add a primitive static site generator --- media/main.css | 2 +- media/vscodeStub.css | 878 ++++++++++++++++++++++++++++++++++++++++ media/vscodeStub.js | 5 + package.json | 3 + src/shared/mainPage.mts | 6 +- src/ssg/config.json | 5 + src/ssg/ssg.mts | 91 +++++ src/ssg/tsconfig.json | 12 + 8 files changed, 998 insertions(+), 4 deletions(-) create mode 100644 media/vscodeStub.css create mode 100644 media/vscodeStub.js create mode 100644 src/ssg/config.json create mode 100644 src/ssg/ssg.mts create mode 100644 src/ssg/tsconfig.json diff --git a/media/main.css b/media/main.css index 042d35c..dba185e 100644 --- a/media/main.css +++ b/media/main.css @@ -4,7 +4,7 @@ html, body font-size: 14px; line-height: 1.5; height: 100%; - background-color: transparent; + /* background-color: transparent; */ } .aside diff --git a/media/vscodeStub.css b/media/vscodeStub.css new file mode 100644 index 0000000..c6dcf60 --- /dev/null +++ b/media/vscodeStub.css @@ -0,0 +1,878 @@ +/* + * Variables set by the vscode webview. Ideally we would not depend on + * these ones at all, and instead we'd have our own appropriately + * named variables, which would then be set to vscode variables in the + * extension, and to configurable values in the SSG. +*/ +html { + --vscode-font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; + --vscode-font-weight: normal; + --vscode-font-size: 13px; + --vscode-editor-font-family: 'Droid Sans Mono', monospace; + --vscode-editor-font-weight: normal; + --vscode-editor-font-size: 14px; + --text-link-decoration: none; + --vscode-foreground: #bfbfbf; + --vscode-strongForeground: #ffffff; + --vscode-disabledForeground: #555555; + --vscode-errorForeground: #f48771; + --vscode-descriptionForeground: #8c8c8c; + --vscode-icon-foreground: #8c8c8c; + --vscode-focusBorder: rgba(57, 148, 188, 0.7); + --vscode-textLink-foreground: #48a0c7; + --vscode-textLink-activeForeground: #53a5ca; + --vscode-textSeparator-foreground: #2a2a2a; + --vscode-textPreformat-foreground: #8c8c8c; + --vscode-textPreformat-background: #262626; + --vscode-textBlockQuote-background: #242526; + --vscode-textBlockQuote-border: #2a2b2c; + --vscode-textCodeBlock-background: #242526; + --vscode-sash-hoverBorder: rgba(57, 148, 188, 0.7); + --vscode-badge-background: rgba(57, 148, 188, 0.94); + --vscode-badge-foreground: #ffffff; + --vscode-activityWarningBadge-foreground: #202020; + --vscode-activityWarningBadge-background: #cca700; + --vscode-activityErrorBadge-foreground: #ffffff; + --vscode-activityErrorBadge-background: #f48771; + --vscode-scrollbar-shadow: rgba(25, 27, 29, 0.3); + --vscode-scrollbarSlider-background: rgba(131, 132, 133, 0.2); + --vscode-scrollbarSlider-hoverBackground: rgba(131, 132, 133, 0.4); + --vscode-scrollbarSlider-activeBackground: rgba(131, 132, 133, 0.6); + --vscode-progressBar-background: #878889; + --vscode-chart-line: #236b8e; + --vscode-chart-axis: rgba(191, 191, 191, 0.4); + --vscode-chart-guide: rgba(191, 191, 191, 0.2); + --vscode-editor-background: #121314; + --vscode-editor-foreground: #bbbebf; + --vscode-editorStickyScroll-background: #121314; + --vscode-editorStickyScrollGutter-background: #121314; + --vscode-editorStickyScrollHover-background: #202122; + --vscode-editorStickyScroll-border: #2a2b2c; + --vscode-editorStickyScroll-shadow: rgba(25, 27, 29, 0.3); + --vscode-editorWidget-background: #202122; + --vscode-editorWidget-foreground: #bfbfbf; + --vscode-editorWidget-border: #2a2b2c; + --vscode-editorError-foreground: #f14c4c; + --vscode-editorWarning-foreground: #cca700; + --vscode-editorInfo-foreground: #59a4f9; + --vscode-editorHint-foreground: rgba(238, 238, 238, 0.7); + --vscode-editorLink-activeForeground: #3a94bc; + --vscode-editor-selectionBackground: rgba(39, 103, 130, 0.87); + --vscode-editor-inactiveSelectionBackground: rgba(39, 103, 130, 0.38); + --vscode-editor-selectionHighlightBackground: rgba(39, 103, 130, 0.38); + --vscode-editor-compositionBorder: #ffffff; + --vscode-editor-findMatchBackground: rgba(39, 103, 130, 0.56); + --vscode-editor-findMatchHighlightBackground: rgba(39, 103, 130, 0.5); + --vscode-editor-findRangeHighlightBackground: #242526; + --vscode-editor-hoverHighlightBackground: #242526; + --vscode-editorHoverWidget-background: #202122; + --vscode-editorHoverWidget-foreground: #bfbfbf; + --vscode-editorHoverWidget-border: #2a2b2c; + --vscode-editorHoverWidget-statusBarBackground: #262829; + --vscode-editorInlayHint-foreground: #969696; + --vscode-editorInlayHint-background: rgba(57, 148, 188, 0.09); + --vscode-editorInlayHint-typeForeground: #969696; + --vscode-editorInlayHint-typeBackground: rgba(57, 148, 188, 0.09); + --vscode-editorInlayHint-parameterForeground: #969696; + --vscode-editorInlayHint-parameterBackground: rgba(57, 148, 188, 0.09); + --vscode-editorLightBulb-foreground: #ffcc00; + --vscode-editorLightBulbAutoFix-foreground: #75beff; + --vscode-editorLightBulbAi-foreground: #ffcc00; + --vscode-editor-snippetTabstopHighlightBackground: rgba(124, 124, 124, 0.3); + --vscode-editor-snippetFinalTabstopHighlightBorder: #525252; + --vscode-diffEditor-insertedTextBackground: rgba(87, 171, 90, 0.3); + --vscode-diffEditor-removedTextBackground: rgba(244, 112, 103, 0.3); + --vscode-diffEditor-insertedLineBackground: rgba(52, 125, 57, 0.15); + --vscode-diffEditor-removedLineBackground: rgba(201, 60, 55, 0.15); + --vscode-diffEditor-diagonalFill: rgba(204, 204, 204, 0.2); + --vscode-diffEditor-unchangedRegionBackground: #191a1b; + --vscode-diffEditor-unchangedRegionForeground: #bfbfbf; + --vscode-diffEditor-unchangedCodeBackground: rgba(116, 116, 116, 0.16); + --vscode-widget-shadow: rgba(0, 0, 0, 0.36); + --vscode-widget-border: #2a2b2c; + --vscode-toolbar-hoverBackground: rgba(255, 255, 255, 0.09); + --vscode-toolbar-activeBackground: rgba(255, 255, 255, 0.09); + --vscode-breadcrumb-foreground: #8c8c8c; + --vscode-breadcrumb-background: #121314; + --vscode-breadcrumb-focusForeground: #bfbfbf; + --vscode-breadcrumb-activeSelectionForeground: #bfbfbf; + --vscode-breadcrumbPicker-background: #202122; + --vscode-merge-currentHeaderBackground: rgba(64, 200, 174, 0.5); + --vscode-merge-currentContentBackground: rgba(64, 200, 174, 0.2); + --vscode-merge-incomingHeaderBackground: rgba(64, 166, 255, 0.5); + --vscode-merge-incomingContentBackground: rgba(64, 166, 255, 0.2); + --vscode-merge-commonHeaderBackground: rgba(96, 96, 96, 0.4); + --vscode-merge-commonContentBackground: rgba(96, 96, 96, 0.16); + --vscode-editorOverviewRuler-currentContentForeground: rgba(64, 200, 174, 0.5); + --vscode-editorOverviewRuler-incomingContentForeground: rgba(64, 166, 255, 0.5); + --vscode-editorOverviewRuler-commonContentForeground: rgba(96, 96, 96, 0.4); + --vscode-editorOverviewRuler-findMatchForeground: rgba(58, 148, 188, 0.6); + --vscode-editorOverviewRuler-selectionHighlightForeground: rgba(160, 160, 160, 0.8); + --vscode-problemsErrorIcon-foreground: #f14c4c; + --vscode-problemsWarningIcon-foreground: #cca700; + --vscode-problemsInfoIcon-foreground: #59a4f9; + --vscode-minimap-findMatchHighlight: rgba(39, 103, 130, 0.5); + --vscode-minimap-selectionOccurrenceHighlight: rgba(39, 103, 130, 0.38); + --vscode-minimap-selectionHighlight: rgba(39, 103, 130, 0.87); + --vscode-minimap-infoHighlight: #59a4f9; + --vscode-minimap-warningHighlight: #cca700; + --vscode-minimap-errorHighlight: rgba(255, 18, 18, 0.7); + --vscode-minimap-foregroundOpacity: #000000; + --vscode-minimapSlider-background: rgba(131, 132, 133, 0.2); + --vscode-minimapSlider-hoverBackground: rgba(131, 132, 133, 0.4); + --vscode-minimapSlider-activeBackground: rgba(131, 132, 133, 0.6); + --vscode-charts-foreground: #cccccc; + --vscode-charts-lines: rgba(200, 202, 204, 0.5); + --vscode-charts-red: #ef8773; + --vscode-charts-blue: #57a3f8; + --vscode-charts-yellow: #e0b97f; + --vscode-charts-orange: #cd861a; + --vscode-charts-green: #86cf86; + --vscode-charts-purple: #ad80d7; + --vscode-list-focusBackground: rgba(57, 148, 188, 0.15); + --vscode-list-focusForeground: #bfbfbf; + --vscode-list-focusOutline: rgba(57, 148, 188, 0.7); + --vscode-list-activeSelectionBackground: rgba(57, 148, 188, 0.15); + --vscode-list-activeSelectionForeground: #ededed; + --vscode-list-activeSelectionIconForeground: #ffffff; + --vscode-list-inactiveSelectionBackground: #2c2d2e; + --vscode-list-inactiveSelectionForeground: #ededed; + --vscode-list-hoverBackground: rgba(255, 255, 255, 0.05); + --vscode-list-hoverForeground: #bfbfbf; + --vscode-list-dropBackground: rgba(57, 148, 188, 0.1); + --vscode-list-dropBetweenBackground: #8c8c8c; + --vscode-list-highlightForeground: #48a0c7; + --vscode-list-focusHighlightForeground: #48a0c7; + --vscode-list-invalidItemForeground: #444444; + --vscode-list-errorForeground: #f48771; + --vscode-list-warningForeground: #e5ba7d; + --vscode-listFilterWidget-background: #202122; + --vscode-listFilterWidget-outline: rgba(0, 0, 0, 0); + --vscode-listFilterWidget-noMatchesOutline: #be1100; + --vscode-listFilterWidget-shadow: rgba(0, 0, 0, 0.36); + --vscode-list-filterMatchBackground: rgba(39, 103, 130, 0.5); + --vscode-list-deemphasizedForeground: #8c8c8c; + --vscode-tree-indentGuidesStroke: #585858; + --vscode-tree-inactiveIndentGuidesStroke: rgba(88, 88, 88, 0.4); + --vscode-tree-tableColumnsBorder: rgba(204, 204, 204, 0.13); + --vscode-tree-tableOddRowsBackground: rgba(191, 191, 191, 0.04); + --vscode-editorActionList-background: #202122; + --vscode-editorActionList-foreground: #bfbfbf; + --vscode-editorActionList-focusForeground: #ededed; + --vscode-editorActionList-focusBackground: rgba(57, 148, 188, 0.15); + --vscode-input-background: #191a1b; + --vscode-input-foreground: #bfbfbf; + --vscode-input-border: #333536; + --vscode-inputOption-activeBorder: #2a2b2c; + --vscode-inputOption-hoverBackground: rgba(90, 93, 94, 0.5); + --vscode-inputOption-activeBackground: rgba(57, 148, 188, 0.2); + --vscode-inputOption-activeForeground: #bfbfbf; + --vscode-input-placeholderForeground: #555555; + --vscode-inputValidation-infoBackground: #1e3a47; + --vscode-inputValidation-infoForeground: #bfbfbf; + --vscode-inputValidation-infoBorder: #3994bc; + --vscode-inputValidation-warningBackground: #352a05; + --vscode-inputValidation-warningForeground: #bfbfbf; + --vscode-inputValidation-warningBorder: #b89500; + --vscode-inputValidation-errorBackground: #3a1d1d; + --vscode-inputValidation-errorForeground: #bfbfbf; + --vscode-inputValidation-errorBorder: #be1100; + --vscode-dropdown-background: #191a1b; + --vscode-dropdown-listBackground: #191a1b; + --vscode-dropdown-foreground: #bfbfbf; + --vscode-dropdown-border: #333536; + --vscode-button-foreground: #ffffff; + --vscode-button-separator: rgba(255, 255, 255, 0.4); + --vscode-button-background: #297aa0; + --vscode-button-hoverBackground: #2b7da3; + --vscode-button-border: #333536; + --vscode-button-secondaryForeground: #cccccc; + --vscode-button-secondaryBackground: rgba(0, 0, 0, 0); + --vscode-button-secondaryHoverBackground: rgba(255, 255, 255, 0.06); + --vscode-radio-activeForeground: #bfbfbf; + --vscode-radio-activeBackground: rgba(57, 148, 188, 0.2); + --vscode-radio-activeBorder: #2a2b2c; + --vscode-radio-inactiveBorder: rgba(191, 191, 191, 0.2); + --vscode-radio-inactiveHoverBackground: rgba(90, 93, 94, 0.5); + --vscode-checkbox-background: #242526; + --vscode-checkbox-selectBackground: #202122; + --vscode-checkbox-foreground: #8c8c8c; + --vscode-checkbox-border: #333536; + --vscode-checkbox-selectBorder: #8c8c8c; + --vscode-checkbox-disabled\.background: #464647; + --vscode-checkbox-disabled\.foreground: #696a6a; + --vscode-keybindingLabel-background: rgba(128, 128, 128, 0.17); + --vscode-keybindingLabel-foreground: #cccccc; + --vscode-keybindingLabel-border: rgba(51, 51, 51, 0.6); + --vscode-keybindingLabel-bottomBorder: rgba(68, 68, 68, 0.6); + --vscode-menu-border: #2a2b2c; + --vscode-menu-foreground: #bfbfbf; + --vscode-menu-background: #202122; + --vscode-menu-selectionForeground: #bfbfbf; + --vscode-menu-selectionBackground: rgba(57, 148, 188, 0.15); + --vscode-menu-separatorBackground: #2a2b2c; + --vscode-quickInput-background: #202122; + --vscode-quickInput-foreground: #bfbfbf; + --vscode-quickInputTitle-background: #202122; + --vscode-pickerGroup-foreground: #bfbfbf; + --vscode-pickerGroup-border: #2a2b2c; + --vscode-quickInputList-focusForeground: #ffffff; + --vscode-quickInputList-focusIconForeground: #ffffff; + --vscode-quickInputList-focusBackground: #297aa0; + --vscode-quickInputList-focusHighlightForeground: #ffffff; + --vscode-search-resultsInfoForeground: rgba(191, 191, 191, 0.65); + --vscode-searchEditor-findMatchBackground: rgba(39, 103, 130, 0.33); + --vscode-editor-lineHighlightBackground: #242526; + --vscode-editor-inactiveLineHighlightBackground: #242526; + --vscode-editor-lineHighlightBorder: #282828; + --vscode-editor-rangeHighlightBackground: #242526; + --vscode-editor-symbolHighlightBackground: rgba(39, 103, 130, 0.5); + --vscode-editorCursor-foreground: #bbbebf; + --vscode-editorMultiCursor-primary\.foreground: #bbbebf; + --vscode-editorMultiCursor-secondary\.foreground: #bbbebf; + --vscode-editorWhitespace-foreground: rgba(140, 140, 140, 0.3); + --vscode-editorLineNumber-foreground: #858889; + --vscode-editorIndentGuide-background: rgba(131, 132, 133, 0.3); + --vscode-editorIndentGuide-activeBackground: #838485; + --vscode-editorIndentGuide-background1: #404040; + --vscode-editorIndentGuide-background2: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-background3: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-background4: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-background5: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-background6: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-activeBackground1: #707070; + --vscode-editorIndentGuide-activeBackground2: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-activeBackground3: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-activeBackground4: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-activeBackground5: rgba(0, 0, 0, 0); + --vscode-editorIndentGuide-activeBackground6: rgba(0, 0, 0, 0); + --vscode-editorActiveLineNumber-foreground: #c6c6c6; + --vscode-editorLineNumber-activeForeground: #bbbebf; + --vscode-editorRuler-foreground: #848484; + --vscode-editorCodeLens-foreground: #8c8c8c; + --vscode-editorBracketMatch-background: rgba(57, 148, 188, 0.33); + --vscode-editorBracketMatch-border: #2a2b2c; + --vscode-editorOverviewRuler-border: #2a2b2c; + --vscode-editorGutter-background: #121314; + --vscode-editorUnnecessaryCode-opacity: rgba(0, 0, 0, 0.67); + --vscode-editorGhostText-foreground: rgba(255, 255, 255, 0.34); + --vscode-editorOverviewRuler-rangeHighlightForeground: rgba(0, 122, 204, 0.6); + --vscode-editorOverviewRuler-errorForeground: #f48771; + --vscode-editorOverviewRuler-warningForeground: #e5ba7d; + --vscode-editorOverviewRuler-infoForeground: #59a4f9; + --vscode-editorBracketHighlight-foreground1: #ffd700; + --vscode-editorBracketHighlight-foreground2: #da70d6; + --vscode-editorBracketHighlight-foreground3: #179fff; + --vscode-editorBracketHighlight-foreground4: rgba(0, 0, 0, 0); + --vscode-editorBracketHighlight-foreground5: rgba(0, 0, 0, 0); + --vscode-editorBracketHighlight-foreground6: rgba(0, 0, 0, 0); + --vscode-editorBracketHighlight-unexpectedBracket\.foreground: rgba(255, 18, 18, 0.8); + --vscode-editorBracketPairGuide-background1: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background2: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background3: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background4: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background5: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-background6: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground1: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground2: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground3: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground4: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground5: rgba(0, 0, 0, 0); + --vscode-editorBracketPairGuide-activeBackground6: rgba(0, 0, 0, 0); + --vscode-editorUnicodeHighlight-border: #cca700; + --vscode-diffEditor-move\.border: rgba(139, 139, 139, 0.61); + --vscode-diffEditor-moveActive\.border: #ffa500; + --vscode-diffEditor-unchangedRegionShadow: #000000; + --vscode-editorOverviewRuler-bracketMatchForeground: #a0a0a0; + --vscode-actionBar-toggledBackground: #383a49; + --vscode-symbolIcon-arrayForeground: #bfbfbf; + --vscode-symbolIcon-booleanForeground: #bfbfbf; + --vscode-symbolIcon-classForeground: #ee9d28; + --vscode-symbolIcon-colorForeground: #bfbfbf; + --vscode-symbolIcon-constantForeground: #bfbfbf; + --vscode-symbolIcon-constructorForeground: #b180d7; + --vscode-symbolIcon-enumeratorForeground: #ee9d28; + --vscode-symbolIcon-enumeratorMemberForeground: #75beff; + --vscode-symbolIcon-eventForeground: #ee9d28; + --vscode-symbolIcon-fieldForeground: #75beff; + --vscode-symbolIcon-fileForeground: #bfbfbf; + --vscode-symbolIcon-folderForeground: #bfbfbf; + --vscode-symbolIcon-functionForeground: #b180d7; + --vscode-symbolIcon-interfaceForeground: #75beff; + --vscode-symbolIcon-keyForeground: #bfbfbf; + --vscode-symbolIcon-keywordForeground: #bfbfbf; + --vscode-symbolIcon-methodForeground: #b180d7; + --vscode-symbolIcon-moduleForeground: #bfbfbf; + --vscode-symbolIcon-namespaceForeground: #bfbfbf; + --vscode-symbolIcon-nullForeground: #bfbfbf; + --vscode-symbolIcon-numberForeground: #bfbfbf; + --vscode-symbolIcon-objectForeground: #bfbfbf; + --vscode-symbolIcon-operatorForeground: #bfbfbf; + --vscode-symbolIcon-packageForeground: #bfbfbf; + --vscode-symbolIcon-propertyForeground: #bfbfbf; + --vscode-symbolIcon-referenceForeground: #bfbfbf; + --vscode-symbolIcon-snippetForeground: #bfbfbf; + --vscode-symbolIcon-stringForeground: #bfbfbf; + --vscode-symbolIcon-structForeground: #bfbfbf; + --vscode-symbolIcon-textForeground: #bfbfbf; + --vscode-symbolIcon-typeParameterForeground: #bfbfbf; + --vscode-symbolIcon-unitForeground: #bfbfbf; + --vscode-symbolIcon-variableForeground: #75beff; + --vscode-peekViewTitle-background: #242526; + --vscode-peekViewTitleLabel-foreground: #bfbfbf; + --vscode-peekViewTitleDescription-foreground: #8c8c8c; + --vscode-peekView-border: #2a2b2c; + --vscode-peekViewResult-background: #191a1b; + --vscode-peekViewResult-lineForeground: #8c8c8c; + --vscode-peekViewResult-fileForeground: #bfbfbf; + --vscode-peekViewResult-selectionBackground: rgba(57, 148, 188, 0.15); + --vscode-peekViewResult-selectionForeground: #bfbfbf; + --vscode-peekViewEditor-background: #191a1b; + --vscode-peekViewEditorGutter-background: #191a1b; + --vscode-peekViewEditorStickyScroll-background: #191a1b; + --vscode-peekViewEditorStickyScrollGutter-background: #191a1b; + --vscode-peekViewResult-matchHighlightBackground: rgba(57, 148, 188, 0.2); + --vscode-peekViewEditor-matchHighlightBackground: rgba(57, 148, 188, 0.2); + --vscode-editorMarkerNavigationError-background: #f14c4c; + --vscode-editorMarkerNavigationError-headerBackground: rgba(241, 76, 76, 0.1); + --vscode-editorMarkerNavigationWarning-background: #cca700; + --vscode-editorMarkerNavigationWarning-headerBackground: rgba(204, 167, 0, 0.1); + --vscode-editorMarkerNavigationInfo-background: #59a4f9; + --vscode-editorMarkerNavigationInfo-headerBackground: rgba(89, 164, 249, 0.1); + --vscode-editorMarkerNavigation-background: #121314; + --vscode-editor-foldBackground: rgba(39, 103, 130, 0.26); + --vscode-editor-foldPlaceholderForeground: #808080; + --vscode-editorGutter-foldingControlForeground: #8c8c8c; + --vscode-editorSuggestWidget-background: #202122; + --vscode-editorSuggestWidget-border: #2a2b2c; + --vscode-editorSuggestWidget-foreground: #bfbfbf; + --vscode-editorSuggestWidget-selectedForeground: #ffffff; + --vscode-editorSuggestWidget-selectedIconForeground: #ffffff; + --vscode-editorSuggestWidget-selectedBackground: rgba(57, 148, 188, 0.15); + --vscode-editorSuggestWidget-highlightForeground: #bfbfbf; + --vscode-editorSuggestWidget-focusHighlightForeground: #48a0c7; + --vscode-editorSuggestWidgetStatus-foreground: rgba(191, 191, 191, 0.5); + --vscode-inlineEdit-originalBackground: rgba(244, 112, 103, 0.06); + --vscode-inlineEdit-modifiedBackground: rgba(87, 171, 90, 0.09); + --vscode-inlineEdit-originalChangedLineBackground: rgba(244, 112, 103, 0.24); + --vscode-inlineEdit-originalChangedTextBackground: rgba(244, 112, 103, 0.24); + --vscode-inlineEdit-modifiedChangedLineBackground: rgba(52, 125, 57, 0.1); + --vscode-inlineEdit-modifiedChangedTextBackground: rgba(87, 171, 90, 0.21); + --vscode-inlineEdit-gutterIndicator\.primaryForeground: #ffffff; + --vscode-inlineEdit-gutterIndicator\.primaryBorder: #297aa0; + --vscode-inlineEdit-gutterIndicator\.primaryBackground: rgba(41, 122, 160, 0.4); + --vscode-inlineEdit-gutterIndicator\.secondaryForeground: #bfbfbf; + --vscode-inlineEdit-gutterIndicator\.secondaryBorder: #2a2b2c; + --vscode-inlineEdit-gutterIndicator\.secondaryBackground: #202122; + --vscode-inlineEdit-gutterIndicator\.successfulForeground: #ffffff; + --vscode-inlineEdit-gutterIndicator\.successfulBorder: #297aa0; + --vscode-inlineEdit-gutterIndicator\.successfulBackground: #297aa0; + --vscode-inlineEdit-gutterIndicator\.background: rgba(25, 26, 27, 0.5); + --vscode-inlineEdit-originalBorder: rgba(244, 112, 103, 0.3); + --vscode-inlineEdit-modifiedBorder: rgba(87, 171, 90, 0.3); + --vscode-inlineEdit-tabWillAcceptModifiedBorder: rgba(87, 171, 90, 0.3); + --vscode-inlineEdit-tabWillAcceptOriginalBorder: rgba(244, 112, 103, 0.3); + --vscode-editor-linkedEditingBackground: rgba(255, 0, 0, 0.3); + --vscode-editor-wordHighlightBackground: rgba(39, 103, 130, 0.31); + --vscode-editor-wordHighlightStrongBackground: rgba(39, 103, 130, 0.5); + --vscode-editor-wordHighlightTextBackground: rgba(39, 103, 130, 0.31); + --vscode-editorOverviewRuler-wordHighlightForeground: rgba(160, 160, 160, 0.8); + --vscode-editorOverviewRuler-wordHighlightStrongForeground: rgba(192, 160, 192, 0.8); + --vscode-editorOverviewRuler-wordHighlightTextForeground: rgba(160, 160, 160, 0.8); + --vscode-editorHoverWidget-highlightForeground: #48a0c7; + --vscode-editor-placeholder\.foreground: rgba(255, 255, 255, 0.34); + --vscode-tab-activeBackground: #121314; + --vscode-tab-unfocusedActiveBackground: #121314; + --vscode-tab-inactiveBackground: #191a1b; + --vscode-tab-unfocusedInactiveBackground: #191a1b; + --vscode-tab-activeForeground: #bfbfbf; + --vscode-tab-inactiveForeground: #8c8c8c; + --vscode-tab-unfocusedActiveForeground: #8c8c8c; + --vscode-tab-unfocusedInactiveForeground: #444444; + --vscode-tab-hoverBackground: #121314; + --vscode-tab-unfocusedHoverBackground: #1f1f1f; + --vscode-tab-hoverForeground: #bfbfbf; + --vscode-tab-unfocusedHoverForeground: rgba(191, 191, 191, 0.5); + --vscode-tab-border: #2a2b2c; + --vscode-tab-lastPinnedBorder: #2a2b2c; + --vscode-tab-activeBorder: #121314; + --vscode-tab-unfocusedActiveBorder: #1f1f1f; + --vscode-tab-activeBorderTop: #3994bc; + --vscode-tab-unfocusedActiveBorderTop: #2b2b2b; + --vscode-tab-selectedBorderTop: #6caddf; + --vscode-tab-selectedBackground: #222222; + --vscode-tab-selectedForeground: rgba(255, 255, 255, 0.63); + --vscode-tab-dragAndDropBorder: #bfbfbf; + --vscode-tab-activeModifiedBorder: #3399cc; + --vscode-tab-inactiveModifiedBorder: rgba(51, 153, 204, 0.5); + --vscode-tab-unfocusedActiveModifiedBorder: rgba(51, 153, 204, 0.5); + --vscode-tab-unfocusedInactiveModifiedBorder: rgba(51, 153, 204, 0.25); + --vscode-editorPane-background: #121314; + --vscode-editorGroupHeader-tabsBackground: #191a1b; + --vscode-editorGroupHeader-tabsBorder: #2a2b2c; + --vscode-editorGroupHeader-noTabsBackground: #121314; + --vscode-editorGroup-border: rgba(255, 255, 255, 0.09); + --vscode-editorGroup-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-editorGroup-dropIntoPromptForeground: #bfbfbf; + --vscode-editorGroup-dropIntoPromptBackground: #202122; + --vscode-sideBySideEditor-horizontalBorder: rgba(255, 255, 255, 0.09); + --vscode-sideBySideEditor-verticalBorder: rgba(255, 255, 255, 0.09); + --vscode-banner-background: rgba(57, 148, 188, 0.15); + --vscode-banner-foreground: #ededed; + --vscode-banner-iconForeground: #59a4f9; + --vscode-statusBar-foreground: #8c8c8c; + --vscode-statusBar-noFolderForeground: #8c8c8c; + --vscode-statusBar-background: #191a1b; + --vscode-statusBar-noFolderBackground: #191a1b; + --vscode-statusBar-border: #2a2b2c; + --vscode-statusBar-focusBorder: rgba(57, 148, 188, 0.7); + --vscode-statusBar-noFolderBorder: #2a2b2c; + --vscode-statusBarItem-activeBackground: #4b4c4d; + --vscode-statusBarItem-focusBorder: rgba(57, 148, 188, 0.7); + --vscode-statusBarItem-hoverBackground: #262728; + --vscode-statusBarItem-hoverForeground: #ffffff; + --vscode-statusBarItem-compactHoverBackground: rgba(255, 255, 255, 0.12); + --vscode-statusBarItem-prominentForeground: #ffffff; + --vscode-statusBarItem-prominentBackground: #3994bc; + --vscode-statusBarItem-prominentHoverForeground: #ffffff; + --vscode-statusBarItem-prominentHoverBackground: #3994bc; + --vscode-statusBarItem-errorBackground: #c72e0f; + --vscode-statusBarItem-errorForeground: #ffffff; + --vscode-statusBarItem-errorHoverForeground: #ffffff; + --vscode-statusBarItem-errorHoverBackground: #262728; + --vscode-statusBarItem-warningBackground: #7a6400; + --vscode-statusBarItem-warningForeground: #ffffff; + --vscode-statusBarItem-warningHoverForeground: #ffffff; + --vscode-statusBarItem-warningHoverBackground: #262728; + --vscode-activityBar-background: #191a1b; + --vscode-activityBar-foreground: #bfbfbf; + --vscode-activityBar-inactiveForeground: #8c8c8c; + --vscode-activityBar-border: #2a2b2c; + --vscode-activityBar-activeBorder: #bfbfbf; + --vscode-activityBar-activeFocusBorder: rgba(57, 148, 188, 0.7); + --vscode-activityBar-dropBorder: #bfbfbf; + --vscode-activityBarBadge-background: #3994bc; + --vscode-activityBarBadge-foreground: #ffffff; + --vscode-activityBarTop-foreground: #e7e7e7; + --vscode-activityBarTop-activeBorder: #bfbfbf; + --vscode-activityBarTop-inactiveForeground: rgba(231, 231, 231, 0.6); + --vscode-activityBarTop-dropBorder: #e7e7e7; + --vscode-panel-background: #191a1b; + --vscode-panel-border: #2a2b2c; + --vscode-panelTitle-activeForeground: #bfbfbf; + --vscode-panelTitle-inactiveForeground: #8c8c8c; + --vscode-panelTitle-activeBorder: #3994bc; + --vscode-panelTitleBadge-background: #3994bc; + --vscode-panelTitleBadge-foreground: #ffffff; + --vscode-panelInput-border: #2b2b2b; + --vscode-panel-dropBorder: #bfbfbf; + --vscode-panelSection-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-panelSectionHeader-background: rgba(128, 128, 128, 0.2); + --vscode-panelSection-border: #2a2b2c; + --vscode-panelStickyScroll-background: #191a1b; + --vscode-panelStickyScroll-shadow: rgba(25, 27, 29, 0.3); + --vscode-browser-border: #2a2b2c; + --vscode-profileBadge-background: #4d4d4d; + --vscode-profileBadge-foreground: #ffffff; + --vscode-statusBarItem-remoteBackground: #0078d4; + --vscode-statusBarItem-remoteForeground: #ffffff; + --vscode-statusBarItem-remoteHoverForeground: #ffffff; + --vscode-statusBarItem-remoteHoverBackground: #262728; + --vscode-statusBarItem-offlineBackground: #6c1717; + --vscode-statusBarItem-offlineForeground: #ffffff; + --vscode-statusBarItem-offlineHoverForeground: #ffffff; + --vscode-statusBarItem-offlineHoverBackground: #262728; + --vscode-extensionBadge-remoteBackground: #3994bc; + --vscode-extensionBadge-remoteForeground: #ffffff; + --vscode-sideBar-background: #191a1b; + --vscode-sideBar-foreground: #bfbfbf; + --vscode-sideBar-border: #2a2b2c; + --vscode-sideBarTitle-background: #191a1b; + --vscode-sideBarTitle-foreground: #bfbfbf; + --vscode-sideBar-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-sideBarSectionHeader-background: #191a1b; + --vscode-sideBarSectionHeader-foreground: #bfbfbf; + --vscode-sideBarSectionHeader-border: #2a2b2c; + --vscode-sideBarActivityBarTop-border: #2a2b2c; + --vscode-sideBarStickyScroll-background: #191a1b; + --vscode-sideBarStickyScroll-shadow: rgba(25, 27, 29, 0.3); + --vscode-titleBar-activeForeground: #8c8c8c; + --vscode-titleBar-inactiveForeground: #8c8c8c; + --vscode-titleBar-activeBackground: #191a1b; + --vscode-titleBar-inactiveBackground: #191a1b; + --vscode-titleBar-border: #2a2b2c; + --vscode-menubar-selectionForeground: #bfbfbf; + --vscode-menubar-selectionBackground: #242526; + --vscode-commandCenter-foreground: #bfbfbf; + --vscode-commandCenter-activeForeground: #bfbfbf; + --vscode-commandCenter-inactiveForeground: #8c8c8c; + --vscode-commandCenter-background: #191a1b; + --vscode-commandCenter-activeBackground: rgba(255, 255, 255, 0.06); + --vscode-commandCenter-border: #2e3031; + --vscode-commandCenter-activeBorder: #333536; + --vscode-commandCenter-inactiveBorder: rgba(140, 140, 140, 0.25); + --vscode-notificationCenter-border: #2a2b2c; + --vscode-notificationToast-border: #2a2b2c; + --vscode-notifications-foreground: #bfbfbf; + --vscode-notifications-background: #202122; + --vscode-notificationLink-foreground: #3a94bc; + --vscode-notificationCenterHeader-foreground: #bfbfbf; + --vscode-notificationCenterHeader-background: #242526; + --vscode-notifications-border: #2a2b2c; + --vscode-notificationsErrorIcon-foreground: #f48771; + --vscode-notificationsWarningIcon-foreground: #cca700; + --vscode-notificationsInfoIcon-foreground: #3a94bc; + --vscode-agentSessionReadIndicator-foreground: rgba(191, 191, 191, 0.2); + --vscode-agentSessionSelectedBadge-border: rgba(237, 237, 237, 0.3); + --vscode-agentSessionSelectedUnfocusedBadge-border: rgba(191, 191, 191, 0.3); + --vscode-editorGutter-modifiedBackground: #0078d4; + --vscode-editorGutter-modifiedSecondaryBackground: #003c6a; + --vscode-editorGutter-addedBackground: #72c892; + --vscode-editorGutter-addedSecondaryBackground: #2c7145; + --vscode-editorGutter-deletedBackground: #f28772; + --vscode-editorGutter-deletedSecondaryBackground: #c43012; + --vscode-minimapGutter-modifiedBackground: #0078d4; + --vscode-minimapGutter-addedBackground: #72c892; + --vscode-minimapGutter-deletedBackground: #f28772; + --vscode-editorOverviewRuler-modifiedForeground: #6ab890; + --vscode-editorOverviewRuler-addedForeground: #73c991; + --vscode-editorOverviewRuler-deletedForeground: #f48771; + --vscode-editorGutter-itemGlyphForeground: #bbbebf; + --vscode-editorGutter-itemBackground: #2c2d2e; + --vscode-terminal-background: #191a1b; + --vscode-terminal-foreground: #cccccc; + --vscode-terminalCursor-foreground: #bfbfbf; + --vscode-terminalCursor-background: #191a1b; + --vscode-terminal-selectionBackground: rgba(57, 148, 188, 0.2); + --vscode-terminal-inactiveSelectionBackground: #3a3d41; + --vscode-terminalCommandDecoration-defaultBackground: rgba(255, 255, 255, 0.25); + --vscode-terminalCommandDecoration-successBackground: #1b81a8; + --vscode-terminalCommandDecoration-errorBackground: #f14c4c; + --vscode-terminalOverviewRuler-cursorForeground: rgba(160, 160, 160, 0.8); + --vscode-terminal-border: #2a2b2c; + --vscode-terminalOverviewRuler-border: #2a2b2c; + --vscode-terminal-findMatchBackground: rgba(39, 103, 130, 0.56); + --vscode-terminal-hoverHighlightBackground: rgba(36, 37, 38, 0.5); + --vscode-terminal-findMatchHighlightBackground: rgba(39, 103, 130, 0.5); + --vscode-terminalOverviewRuler-findMatchForeground: rgba(58, 148, 188, 0.6); + --vscode-terminal-dropBackground: rgba(83, 89, 93, 0.5); + --vscode-terminal-tab\.activeBorder: rgba(57, 148, 188, 0); + --vscode-terminal-initialHintForeground: rgba(255, 255, 255, 0.34); + --vscode-scmGraph-historyItemRefColor: #57a3f8; + --vscode-scmGraph-historyItemRemoteRefColor: #ad80d7; + --vscode-scmGraph-historyItemBaseRefColor: #ea5c00; + --vscode-scmGraph-historyItemHoverDefaultLabelForeground: #bfbfbf; + --vscode-scmGraph-historyItemHoverDefaultLabelBackground: rgba(57, 148, 188, 0.94); + --vscode-scmGraph-historyItemHoverLabelForeground: #191a1b; + --vscode-scmGraph-historyItemHoverAdditionsForeground: #81b88b; + --vscode-scmGraph-historyItemHoverDeletionsForeground: #c74e39; + --vscode-scmGraph-foreground1: #ffb000; + --vscode-scmGraph-foreground2: #dc267f; + --vscode-scmGraph-foreground3: #994f00; + --vscode-scmGraph-foreground4: #40b0a6; + --vscode-scmGraph-foreground5: #b66dff; + --vscode-commentsView-resolvedIcon: #555555; + --vscode-commentsView-unresolvedIcon: rgba(57, 148, 188, 0.7); + --vscode-editorCommentsWidget-replyInputBackground: #242526; + --vscode-editorCommentsWidget-resolvedBorder: #555555; + --vscode-editorCommentsWidget-unresolvedBorder: rgba(57, 148, 188, 0.7); + --vscode-editorCommentsWidget-rangeBackground: rgba(72, 143, 174, 0.15); + --vscode-editorCommentsWidget-rangeActiveBackground: rgba(72, 143, 174, 0.28); + --vscode-editorGutter-commentRangeForeground: #2c2d2e; + --vscode-editorOverviewRuler-commentForeground: #2c2d2e; + --vscode-editorOverviewRuler-commentUnresolvedForeground: #2c2d2e; + --vscode-editorOverviewRuler-commentDraftForeground: #2c2d2e; + --vscode-editorGutter-commentGlyphForeground: #bbbebf; + --vscode-editorGutter-commentUnresolvedGlyphForeground: #bbbebf; + --vscode-editorGutter-commentDraftGlyphForeground: #bbbebf; + --vscode-agents-background: #121314; + --vscode-agentsPanel-background: #191a1b; + --vscode-agentsPanel-foreground: #bfbfbf; + --vscode-agentsPanel-border: #2a2b2c; + --vscode-agentsGradient-tintColor: #297aa0; + --vscode-agentFeedbackInputWidget-border: #2a2b2c; + --vscode-agentsUpdateButton-downloadingBackground: rgba(41, 122, 160, 0.4); + --vscode-agentsUpdateButton-downloadedBackground: rgba(41, 122, 160, 0.7); + --vscode-agentsChatInput-background: #202122; + --vscode-agentsChatInput-foreground: #bfbfbf; + --vscode-agentsChatInput-border: #333536; + --vscode-agentsChatInput-focusBorder: rgba(57, 148, 188, 0.7); + --vscode-agentsChatInput-placeholderForeground: #555555; + --vscode-agentsNewSessionButton-background: rgba(0, 0, 0, 0); + --vscode-agentsNewSessionButton-foreground: #bfbfbf; + --vscode-agentsNewSessionButton-border: #333536; + --vscode-agentsNewSessionButton-hoverBackground: rgba(255, 255, 255, 0.09); + --vscode-agentsBadge-background: #3994bc; + --vscode-agentsBadge-foreground: #ffffff; + --vscode-agentsUnreadBadge-background: #3994bc; + --vscode-agentsUnreadBadge-foreground: #ffffff; + --vscode-ports-iconRunningProcessForeground: #369432; + --vscode-settings-headerForeground: #ffffff; + --vscode-settings-settingsHeaderHoverForeground: rgba(255, 255, 255, 0.7); + --vscode-settings-modifiedItemIndicator: rgba(187, 128, 9, 0.4); + --vscode-settings-headerBorder: #2a2b2c; + --vscode-settings-sashBorder: #2a2b2c; + --vscode-settings-dropdownBackground: #313131; + --vscode-settings-dropdownForeground: #bfbfbf; + --vscode-settings-dropdownBorder: #3c3c3c; + --vscode-settings-dropdownListBorder: #2a2b2c; + --vscode-settings-checkboxBackground: #242526; + --vscode-settings-checkboxForeground: #8c8c8c; + --vscode-settings-checkboxBorder: #333536; + --vscode-settings-textInputBackground: #191a1b; + --vscode-settings-textInputForeground: #bfbfbf; + --vscode-settings-textInputBorder: #333536; + --vscode-settings-numberInputBackground: #191a1b; + --vscode-settings-numberInputForeground: #bfbfbf; + --vscode-settings-numberInputBorder: #333536; + --vscode-settings-focusedRowBackground: rgba(255, 255, 255, 0.03); + --vscode-settings-rowHoverBackground: rgba(255, 255, 255, 0.01); + --vscode-settings-focusedRowBorder: rgba(57, 148, 188, 0.7); + --vscode-keybindingTable-headerBackground: rgba(191, 191, 191, 0.04); + --vscode-keybindingTable-rowsBackground: rgba(191, 191, 191, 0.04); + --vscode-extensionButton-background: rgba(0, 0, 0, 0); + --vscode-extensionButton-foreground: #cccccc; + --vscode-extensionButton-hoverBackground: rgba(255, 255, 255, 0.06); + --vscode-extensionButton-border: #333536; + --vscode-extensionButton-separator: rgba(255, 255, 255, 0.4); + --vscode-extensionButton-prominentBackground: #297aa0; + --vscode-extensionButton-prominentForeground: #ffffff; + --vscode-extensionButton-prominentHoverBackground: #2b7da3; + --vscode-debugToolBar-background: #181818; + --vscode-debugIcon-startForeground: #89d185; + --vscode-notebook-cellBorderColor: #2c2d2e; + --vscode-notebook-focusedEditorBorder: rgba(57, 148, 188, 0.7); + --vscode-notebookStatusSuccessIcon-foreground: #89d185; + --vscode-notebookEditorOverviewRuler-runningCellForeground: #89d185; + --vscode-notebookStatusErrorIcon-foreground: #f48771; + --vscode-notebookStatusRunningIcon-foreground: #bfbfbf; + --vscode-notebook-cellToolbarSeparator: rgba(128, 128, 128, 0.35); + --vscode-notebook-selectedCellBackground: #2c2d2e; + --vscode-notebook-selectedCellBorder: #2c2d2e; + --vscode-notebook-focusedCellBorder: rgba(57, 148, 188, 0.7); + --vscode-notebook-inactiveFocusedCellBorder: #2c2d2e; + --vscode-notebook-cellStatusBarItemHoverBackground: rgba(255, 255, 255, 0.15); + --vscode-notebook-cellInsertionIndicator: rgba(57, 148, 188, 0.7); + --vscode-notebookScrollbarSlider-background: rgba(131, 132, 133, 0.2); + --vscode-notebookScrollbarSlider-hoverBackground: rgba(131, 132, 133, 0.4); + --vscode-notebookScrollbarSlider-activeBackground: rgba(131, 132, 133, 0.6); + --vscode-notebook-symbolHighlightBackground: rgba(255, 255, 255, 0.04); + --vscode-notebook-cellEditorBackground: #191a1b; + --vscode-notebook-editorBackground: #121314; + --vscode-inlineChat-foreground: #bfbfbf; + --vscode-inlineChat-background: #202122; + --vscode-inlineChat-border: rgba(0, 0, 0, 0); + --vscode-inlineChat-shadow: rgba(0, 0, 0, 0.36); + --vscode-inlineChatInput-border: #2a2b2c; + --vscode-inlineChatInput-focusBorder: rgba(57, 148, 188, 0.7); + --vscode-inlineChatInput-placeholderForeground: #555555; + --vscode-inlineChatInput-background: #191a1b; + --vscode-inlineChatDiff-inserted: rgba(87, 171, 90, 0.15); + --vscode-editorOverviewRuler-inlineChatInserted: rgba(87, 171, 90, 0.18); + --vscode-editorMinimap-inlineChatInserted: rgba(87, 171, 90, 0.18); + --vscode-inlineChatDiff-removed: rgba(244, 112, 103, 0.15); + --vscode-editorOverviewRuler-inlineChatRemoved: rgba(244, 112, 103, 0.18); + --vscode-extensionIcon-verifiedForeground: #48a0c7; + --vscode-agentStatusIndicator-background: rgba(255, 255, 255, 0.05); + --vscode-chat-requestBorder: rgba(255, 255, 255, 0.1); + --vscode-chat-requestBackground: rgba(18, 19, 20, 0.62); + --vscode-chat-slashCommandBackground: rgba(38, 71, 120, 0.4); + --vscode-chat-slashCommandForeground: #85b6ff; + --vscode-chat-avatarBackground: #1f1f1f; + --vscode-chat-avatarForeground: #bfbfbf; + --vscode-chat-editedFileForeground: #e2c08d; + --vscode-chat-requestCodeBorder: rgba(0, 73, 114, 0.72); + --vscode-chat-requestBubbleBackground: rgba(255, 255, 255, 0.07); + --vscode-chat-requestBubbleHoverBackground: rgba(255, 255, 255, 0.13); + --vscode-chat-checkpointSeparator: #585858; + --vscode-chat-linesAddedForeground: #54b054; + --vscode-chat-linesRemovedForeground: #fc6a6a; + --vscode-chat-thinkingShimmer: #ffffff; + --vscode-chat-inputWorkingBorderColor1: #297aa0; + --vscode-chat-inputWorkingBorderColor2: #1c546f; + --vscode-chat-inputWorkingBorderColor3: #5ba8cc; + --vscode-extensionIcon-starForeground: #ff8e00; + --vscode-extensionIcon-preReleaseForeground: #1d9271; + --vscode-extensionIcon-sponsorForeground: #d758b3; + --vscode-extensionIcon-privateForeground: rgba(255, 255, 255, 0.38); + --vscode-debugExceptionWidget-border: #a31515; + --vscode-debugExceptionWidget-background: #420b0d; + --vscode-editor-inlineValuesForeground: rgba(255, 255, 255, 0.5); + --vscode-editor-inlineValuesBackground: rgba(255, 200, 0, 0.2); + --vscode-debugIcon-breakpointForeground: #e51400; + --vscode-debugIcon-breakpointDisabledForeground: #848484; + --vscode-debugIcon-breakpointUnverifiedForeground: #848484; + --vscode-debugIcon-breakpointCurrentStackframeForeground: #ffcc00; + --vscode-debugIcon-breakpointStackframeForeground: #89d185; + --vscode-editor-stackFrameHighlightBackground: rgba(255, 255, 0, 0.2); + --vscode-editor-focusedStackFrameHighlightBackground: rgba(122, 189, 122, 0.3); + --vscode-multiDiffEditor-headerBackground: #262626; + --vscode-multiDiffEditor-background: #121314; + --vscode-multiDiffEditor-border: #2a2b2c; + --vscode-minimap-chatEditHighlight: rgba(18, 19, 20, 0.6); + --vscode-aiCustomizationManagement-sashBorder: #2a2b2c; + --vscode-mcpIcon-starForeground: #ff8e00; + --vscode-interactive-activeCodeBorder: #2a2b2c; + --vscode-interactive-inactiveCodeBorder: #2c2d2e; + --vscode-testing-iconFailed: #f48771; + --vscode-testing-iconErrored: #f48771; + --vscode-testing-iconPassed: #73c991; + --vscode-testing-runAction: #73c991; + --vscode-testing-iconQueued: #e5ba7d; + --vscode-testing-iconUnset: #848484; + --vscode-testing-iconSkipped: #848484; + --vscode-testing-peekBorder: #f14c4c; + --vscode-testing-messagePeekBorder: #59a4f9; + --vscode-testing-peekHeaderBackground: rgba(241, 76, 76, 0.1); + --vscode-testing-messagePeekHeaderBackground: rgba(89, 164, 249, 0.1); + --vscode-testing-coveredBackground: rgba(87, 171, 90, 0.3); + --vscode-testing-coveredBorder: rgba(87, 171, 90, 0.23); + --vscode-testing-coveredGutterBackground: rgba(87, 171, 90, 0.18); + --vscode-testing-uncoveredBranchBackground: #9a4b46; + --vscode-testing-uncoveredBackground: rgba(244, 112, 103, 0.3); + --vscode-testing-uncoveredBorder: rgba(244, 112, 103, 0.23); + --vscode-testing-uncoveredGutterBackground: rgba(244, 112, 103, 0.45); + --vscode-testing-coveredMinimapBackground: rgba(87, 171, 90, 0.18); + --vscode-testing-uncoveredMinimapBackground: rgba(244, 112, 103, 0.45); + --vscode-testing-coverCountBadgeBackground: rgba(57, 148, 188, 0.94); + --vscode-testing-coverCountBadgeForeground: #ffffff; + --vscode-testing-message\.error\.badgeBackground: #f48771; + --vscode-testing-message\.error\.badgeBorder: #f48771; + --vscode-testing-message\.error\.badgeForeground: #ffffff; + --vscode-testing-message\.info\.decorationForeground: rgba(187, 190, 191, 0.5); + --vscode-testing-iconErrored\.retired: rgba(244, 135, 113, 0.7); + --vscode-testing-iconFailed\.retired: rgba(244, 135, 113, 0.7); + --vscode-testing-iconPassed\.retired: rgba(115, 201, 145, 0.7); + --vscode-testing-iconQueued\.retired: rgba(229, 186, 125, 0.7); + --vscode-testing-iconUnset\.retired: rgba(132, 132, 132, 0.7); + --vscode-testing-iconSkipped\.retired: rgba(132, 132, 132, 0.7); + --vscode-searchEditor-textInputBorder: #333536; + --vscode-statusBar-debuggingBackground: #3994bc; + --vscode-statusBar-debuggingForeground: #ffffff; + --vscode-statusBar-debuggingBorder: #2a2b2c; + --vscode-commandCenter-debuggingBackground: rgba(57, 148, 188, 0.26); + --vscode-debugTokenExpression-name: #c586c0; + --vscode-debugTokenExpression-type: #4a90e2; + --vscode-debugTokenExpression-value: rgba(204, 204, 204, 0.6); + --vscode-debugTokenExpression-string: #ce9178; + --vscode-debugTokenExpression-boolean: #4e94ce; + --vscode-debugTokenExpression-number: #b5cea8; + --vscode-debugTokenExpression-error: #f48771; + --vscode-debugView-exceptionLabelForeground: #bfbfbf; + --vscode-debugView-exceptionLabelBackground: #6c2022; + --vscode-debugView-stateLabelForeground: #bfbfbf; + --vscode-debugView-stateLabelBackground: rgba(136, 136, 136, 0.27); + --vscode-debugView-valueChangedHighlight: #569cd6; + --vscode-debugConsole-infoForeground: #59a4f9; + --vscode-debugConsole-warningForeground: #cca700; + --vscode-debugConsole-errorForeground: #f48771; + --vscode-debugConsole-sourceForeground: #bfbfbf; + --vscode-debugConsoleInputIcon-foreground: #bfbfbf; + --vscode-debugIcon-pauseForeground: #75beff; + --vscode-debugIcon-stopForeground: #f48771; + --vscode-debugIcon-disconnectForeground: #f48771; + --vscode-debugIcon-restartForeground: #89d185; + --vscode-debugIcon-stepOverForeground: #75beff; + --vscode-debugIcon-stepIntoForeground: #75beff; + --vscode-debugIcon-stepOutForeground: #75beff; + --vscode-debugIcon-continueForeground: #75beff; + --vscode-debugIcon-stepBackForeground: #75beff; + --vscode-mergeEditor-change\.background: rgba(155, 185, 85, 0.2); + --vscode-mergeEditor-change\.word\.background: rgba(156, 204, 44, 0.2); + --vscode-mergeEditor-changeBase\.background: #4b1818; + --vscode-mergeEditor-changeBase\.word\.background: #6f1313; + --vscode-mergeEditor-conflict\.unhandledUnfocused\.border: rgba(255, 166, 0, 0.48); + --vscode-mergeEditor-conflict\.unhandledFocused\.border: #ffa600; + --vscode-mergeEditor-conflict\.handledUnfocused\.border: rgba(134, 134, 134, 0.29); + --vscode-mergeEditor-conflict\.handledFocused\.border: rgba(193, 193, 193, 0.8); + --vscode-mergeEditor-conflict\.handled\.minimapOverViewRuler: rgba(173, 172, 168, 0.93); + --vscode-mergeEditor-conflict\.unhandled\.minimapOverViewRuler: #fcba03; + --vscode-mergeEditor-conflictingLines\.background: rgba(255, 234, 0, 0.28); + --vscode-mergeEditor-conflict\.input1\.background: rgba(64, 200, 174, 0.2); + --vscode-mergeEditor-conflict\.input2\.background: rgba(64, 166, 255, 0.2); + --vscode-terminal-ansiBlack: #000000; + --vscode-terminal-ansiRed: #cd3131; + --vscode-terminal-ansiGreen: #0dbc79; + --vscode-terminal-ansiYellow: #e5e510; + --vscode-terminal-ansiBlue: #2472c8; + --vscode-terminal-ansiMagenta: #bc3fbc; + --vscode-terminal-ansiCyan: #11a8cd; + --vscode-terminal-ansiWhite: #e5e5e5; + --vscode-terminal-ansiBrightBlack: #666666; + --vscode-terminal-ansiBrightRed: #f14c4c; + --vscode-terminal-ansiBrightGreen: #23d18b; + --vscode-terminal-ansiBrightYellow: #f5f543; + --vscode-terminal-ansiBrightBlue: #3b8eea; + --vscode-terminal-ansiBrightMagenta: #d670d6; + --vscode-terminal-ansiBrightCyan: #29b8db; + --vscode-terminal-ansiBrightWhite: #e5e5e5; + --vscode-simpleFindWidget-sashBorder: #454545; + --vscode-terminalStickyScrollHover-background: #2a2d2e; + --vscode-terminalCommandGuide-foreground: #2c2d2e; + --vscode-terminalSymbolIcon-flagForeground: #ee9d28; + --vscode-terminalSymbolIcon-aliasForeground: #b180d7; + --vscode-terminalSymbolIcon-optionValueForeground: #75beff; + --vscode-terminalSymbolIcon-methodForeground: #b180d7; + --vscode-terminalSymbolIcon-argumentForeground: #75beff; + --vscode-terminalSymbolIcon-optionForeground: #ee9d28; + --vscode-terminalSymbolIcon-fileForeground: #bfbfbf; + --vscode-terminalSymbolIcon-folderForeground: #bfbfbf; + --vscode-terminalSymbolIcon-commitForeground: #bfbfbf; + --vscode-terminalSymbolIcon-branchForeground: #bfbfbf; + --vscode-terminalSymbolIcon-tagForeground: #bfbfbf; + --vscode-terminalSymbolIcon-stashForeground: #bfbfbf; + --vscode-terminalSymbolIcon-remoteForeground: #bfbfbf; + --vscode-terminalSymbolIcon-pullRequestForeground: #bfbfbf; + --vscode-terminalSymbolIcon-pullRequestDoneForeground: #bfbfbf; + --vscode-terminalSymbolIcon-symbolicLinkFileForeground: #bfbfbf; + --vscode-terminalSymbolIcon-symbolicLinkFolderForeground: #bfbfbf; + --vscode-terminalSymbolIcon-symbolText: #bfbfbf; + --vscode-markdownAlert-note\.foreground: #59a4f9; + --vscode-markdownAlert-tip\.foreground: #86cf86; + --vscode-markdownAlert-important\.foreground: #ad80d7; + --vscode-markdownAlert-warning\.foreground: #cca700; + --vscode-markdownAlert-caution\.foreground: #f14c4c; + --vscode-welcomePage-tileBackground: #2b2b2b; + --vscode-welcomePage-tileHoverBackground: #262829; + --vscode-welcomePage-tileBorder: rgba(255, 255, 255, 0.1); + --vscode-welcomePage-progress\.background: #191a1b; + --vscode-welcomePage-progress\.foreground: #0078d4; + --vscode-walkthrough-stepTitle\.foreground: #ffffff; + --vscode-walkThrough-embeddedEditorBackground: rgba(0, 0, 0, 0.4); + --vscode-profiles-sashBorder: #2a2b2c; + --vscode-gitDecoration-addedResourceForeground: #73c991; + --vscode-gitDecoration-modifiedResourceForeground: #e5ba7d; + --vscode-gitDecoration-deletedResourceForeground: #f48771; + --vscode-gitDecoration-renamedResourceForeground: #73c991; + --vscode-gitDecoration-untrackedResourceForeground: #73c991; + --vscode-gitDecoration-ignoredResourceForeground: #8c8c8c; + --vscode-gitDecoration-stageModifiedResourceForeground: #e5ba7d; + --vscode-gitDecoration-stageDeletedResourceForeground: #f48771; + --vscode-gitDecoration-conflictingResourceForeground: #f48771; + --vscode-gitDecoration-submoduleResourceForeground: #8db9e2; + --vscode-git-blame\.editorDecorationForeground: #969696; + --vscode-agents-fontSize-heading1: 26px; + --vscode-agents-fontSize-heading2: 18px; + --vscode-agents-fontSize-heading3: 13px; + --vscode-agents-fontSize-body1: 13px; + --vscode-agents-fontSize-body2: 11px; + --vscode-agents-fontSize-label1: 12px; + --vscode-agents-fontSize-label2: 11px; + --vscode-agents-fontSize-label3: 11px; + --vscode-agents-fontSize-label4: 10px; + --vscode-agents-fontWeight-regular: 400; + --vscode-agents-fontWeight-medium: 500; + --vscode-agents-fontWeight-semiBold: 600; + --vscode-bodyFontSize: 13px; + --vscode-bodyFontSize-small: 12px; + --vscode-bodyFontSize-xSmall: 11px; + --vscode-codiconFontSize: 16px; + --vscode-cornerRadius-medium: 6px; + --vscode-cornerRadius-xSmall: 2px; + --vscode-cornerRadius-small: 4px; + --vscode-cornerRadius-large: 8px; + --vscode-cornerRadius-xLarge: 12px; + --vscode-cornerRadius-circle: 9999px; + --vscode-strokeThickness: 1px; + --vscode-editor-font-feature-settings: "liga" off, "calt" off; +} diff --git a/media/vscodeStub.js b/media/vscodeStub.js new file mode 100644 index 0000000..4c43127 --- /dev/null +++ b/media/vscodeStub.js @@ -0,0 +1,5 @@ +window.acquireVsCodeApi = () => ({ + postMessage: (...args) => { + console.log('"Handling" message', ...args) + } +}) diff --git a/package.json b/package.json index 54cfb80..5f3dc78 100644 --- a/package.json +++ b/package.json @@ -147,14 +147,17 @@ }, "scripts": { "build": "mustache elpiLexicalConventions.js syntaxes/elpi.tmLanguage.mustache > syntaxes/elpi.tmLanguage.json", + "build:web": "npm run compile:ssg && npm run run:ssg", "vscode:prepublish": "npm run compile", "compile": "tsc -b ./src/extension", "compile:tests": "tsc -b ./src/tests", + "compile:ssg": "tsc -b ./src/ssg", "lint": "eslint . --ext .ts,.tsx", "watch": "npm run compile -- -w", "watch:tests": "npm run compile:tests -- -w", "run:test": "node --test './out/**/*.test.mjs'", "run:promote": "node --test-update-snapshots --test './**/*.test.mjs'", + "run:ssg": "node ./out/ssg/ssg.mjs", "test": "npm run compile:tests && npm run run:test", "promote": "npm run compile:tests && npm run run:promote", "deploy": "vsce publish" diff --git a/src/shared/mainPage.mts b/src/shared/mainPage.mts index d38e5e3..496e559 100644 --- a/src/shared/mainPage.mts +++ b/src/shared/mainPage.mts @@ -17,10 +17,10 @@ type ModuleName = | 'main'; export type MainConfig = { - styles: Record, - scripts: Record, + styles: Record & { [key: string]: string }, + scripts: Record & { [key: string]: string }, imports: Record, - modules: Record + modules: Record & { [key: string]: string } }; export default ( diff --git a/src/ssg/config.json b/src/ssg/config.json new file mode 100644 index 0000000..d968e88 --- /dev/null +++ b/src/ssg/config.json @@ -0,0 +1,5 @@ +{ + "baseUrl": "/elpi-trace-explorer", + "distDir": "./dist", + "mediaDir": "./media" +} diff --git a/src/ssg/ssg.mts b/src/ssg/ssg.mts new file mode 100644 index 0000000..458ca5c --- /dev/null +++ b/src/ssg/ssg.mts @@ -0,0 +1,91 @@ +import { writeFileSync, readFileSync, mkdirSync, copyFileSync, cpSync } from 'fs'; +import * as path from 'path'; + +import config from './config.json' with { type: "json" } + +import mainPage from '../shared/mainPage.mjs'; + +const lockfile = JSON.parse(readFileSync('./package-lock.json', 'utf-8')) as { + packages: Record +} +mkdirSync(config.distDir, { recursive: true }); + + +['reset', 'vscode', 'main', 'vscodeStub'].forEach(style => { + copyFileSync(path.join(config.mediaDir, `${style}.css`), path.join(config.distDir, `${style}.css`)) +}); + +['main', 'vscodeStub'].forEach(script => { + copyFileSync(path.join(config.mediaDir, `${script}.js`), path.join(config.distDir, `${script}.js`)) +}) + +copyFileSync(path.join(config.mediaDir, 'main.js'), path.join(config.distDir, 'main.js')) + +cpSync( + path.join(import.meta.dirname, '../shared'), + path.join(config.distDir, 'shared'), + { recursive: true } +) + +const mkUrl = (package_: string, file: string): string => + `https://unpkg.com/${package_}@${ + lockfile.packages['node_modules/' + package_]!.version + }/${file}`; + +const pageConfig = { + styles: { + reset: path.join(config.baseUrl, 'reset.css'), + vscode: path.join(config.baseUrl, 'vscode.css'), + bulma: mkUrl('bulma', 'css/bulma.min.css'), + divider: mkUrl('bulma-divider', 'dist/css/bulma-divider.min.css'), + tooltip: mkUrl('bulma-tooltip', 'dist/css/bulma-tooltip.min.css'), + quickview: mkUrl('bulma-quickview', 'dist/css/bulma-quickview.min.css'), + pageloader: mkUrl('bulma-pageloader', 'dist/css/bulma-pageloader.min.css'), + collapsible: mkUrl('@creativebulma/bulma-collapsible', 'dist/css/bulma-collapsible.min.css'), + mdicons: mkUrl('@mdi/font', 'css/materialdesignicons.min.css'), + vscodeStub: path.join(config.baseUrl, 'vscodeStub.css'), + main: path.join(config.baseUrl, 'main.css'), + }, + scripts: { + jquery: mkUrl('jquery', 'dist/jquery.min.js'), + vue: mkUrl('vue', 'dist/vue.min.js'), + fuzz: mkUrl('fuzzball', 'dist/fuzzball.umd.min.js'), + quickview: mkUrl('bulma-quickview', 'dist/js/bulma-quickview.min.js'), + collapsible: mkUrl('@creativebulma/bulma-collapsible', 'dist/js/bulma-collapsible.min.js'), + vscodeStub: path.join(config.baseUrl, 'vscodeStub.js') + }, + imports: { + shared: path.join(config.baseUrl, 'shared') + }, + modules: { + main: path.join(config.baseUrl, 'main.js') + } +} + +const html = mainPage(pageConfig, body => { + return ` + ${body} + + + ` +}); + +writeFileSync(path.join(config.distDir, 'index.html'), html) diff --git a/src/ssg/tsconfig.json b/src/ssg/tsconfig.json new file mode 100644 index 0000000..470ad08 --- /dev/null +++ b/src/ssg/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "composite": true, + "module": "node18", + "rootDir": "../", + "outDir": "../../out", + "resolveJsonModule": true + }, + "include": [".", "config.json"], + "references": [{ "path": "../shared" }] +}